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