十年網站開發(fā)經驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網站問題一站解決
??最近在學習fastdfs時遇到了一個困擾我數小時的問題,結果很感人,特在此記錄下來,也是為了讓其他小伙伴們避坑
??(這里我的fastdfs運行環(huán)境是在docker中) 事情是這樣的,用APIfox測試fastdfs文件上傳的時候發(fā)現明明返回的成功的結果但是在瀏覽器中使用路徑卻訪問不到服務器上的圖片,瀏覽器報錯:Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR(服務器拒絕訪問),起初以為是沒上傳成功,所以找到了/var/lib/docker/volumes/fdfs-data/_data/data/00/00
目錄下查看圖片是存在的,也就是圖片上傳成功了但是瀏覽器無法訪問,這里給大家提供幾個思路參考,然后題最后我是docker中nginx的端口沒有配置導致無法訪問的
在甘德等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網站、成都網站建設 網站設計制作定制開發(fā),公司網站建設,企業(yè)網站建設,高端網站設計,成都全網營銷推廣,外貿網站制作,甘德網站建設費用合理。
1. 關閉linux的防火墻
systemctl stop firewalld
systemctl disable firewalld # 禁止開機啟動
2. 瀏覽器中的擴展攔截了請求,像廣告攔截器等擴展
3. 檢查圖片路徑是否正確,格式:http://ip:端口號/group1/M00/00/00/wKjTgGN6XVaAXACdAAAVFZU5FfY629.png
4.檢查端口號(*)
因為storage內部已經集成了nginx,這里的nginx主要提供對FastDFS圖片訪問的支持,
所以要想訪問到文件這里的nginx配置文件中的端口號需要和你項目中端口號一致才能訪問,他這里默認端口號是8080,所以你需要http://ip:8080/group1/M00/00/00/wKjTgGN6XVaAXACdAAAVFZU5FfY629.png來進行訪問,我之前是因為忘記配置端口了就直接訪問http://ip/group1/M00/00/00/wKjTgGN6XVaAXACdAAAVFZU5FfY629.png,這樣默認使用的是瀏覽器80端口所以沒訪問到
解決辦法:
- 進入docker容器(docker exec -it storage /bin/bash),修改里面nginx配置(vim /etc/nginx/conf/nginx.conf)
- 可以看到里面的listen 8080,所以跟Java項目中的配置文件fdfs配置:web-server-url: http://ip:8080/保持一致
- 也可以直接都修改成80端口用起來方便,總之看你代碼中怎么配置,兩者保持一致即可
如果修改了項目中的端口重啟項目即可
如果修改了nginx中的端口號退出容器重啟docker就能訪問了
exit #退出
systemctl restart docker #重啟docker
好了,以上就是我解決這個問題時能想到的法子了,希望能幫到大家!