用http 的形式訪問ftp服務器上的圖片文件


1. 工具

  nginx 1.18.0和 ftpServe

  安裝使用配置指路:https://www.cnblogs.com/YangMian/p/14913562.html

2. 圖片上傳到ftp成功后,在瀏覽器輸入ftp://127.0.0.1 沒有任何反應,反而彈出什么打開2345加速瀏覽器。

  原本想着這問題時捆綁軟件的問題,但是當我配置 ftp://127.0.0.1/文件路徑   或者 ftp://userName:password@127.0.0.1/文件路徑  時  到html或者jsp的超鏈接中時發現,瀏覽器提示源文件提示被阻止!!!

  但是在我的電腦里或者cmd里都能正常訪問。突然發現源項目配置的訪問路徑不是ftp開頭的,而是http開頭的url

3. 解決方案

  瀏覽器不能解析ftp,用http協議能訪問到嗎???

  查找方案中發現,nginx代理可以解決這個問題,歷經兩天終於解決(下面是nginx.conf的相關兩個配置,都用到了nginx代理)

#這里是我自己配置ftp下載服務
    server {  
        listen       8818;
        server_name resouce;
        root  D:\ftp\ftpLibrary;  #訪問文件根目錄
        autoindex on;  #是否瀏覽文件下的列表
        location / {  #是否允許跨域
            add_header Access-Control-Allow-Origin *;
        }
        add_header Cache-Control "no-cache,must-revalidate";# 是否緩存
    }
    #代理ftp訪問圖片配置服務
    server {
        listen       8819;
        server_name localhost;
        location ~ \.(gif|jpg|jpeg|png|bmq|swf)$ {
            root D:/ftp/ftpLibrary/;
        }
    }

root 是定位ftp文件根路徑,項目url后再跟具體的路徑

 

 再次啟動,發現圖片出來了,url也顯示是http連接(為什么能用http 來訪問ftp上的圖片:因為nginx代理是配置了location 那一句,當url以gif、jpg等結尾時,port滿足8819  ip滿足localhost(或者127.0.0.1)時就會流轉到ftp文件的根目錄)

4. 注意事項

  ftp服務器配置兩個用戶,一個匿名用戶(因為代理時怎么加上用戶名和密碼是個問題,權限配置時設置只讀)和一個插入用戶(常規的配置,權限勾選滿)

 

補充一下:成員的權限是由上圖中的成員組來來設定的,默認的成員組為none,下拉有一個admin的成員組,成員組才是用來設定文件夾訪問權限的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM