fastdfs上传图片后浏览器访问报错Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
  72pvYq8kjCUj 2023年11月01日 127 0


最近在学习fastdfs时遇到了一个困扰我数小时的问题,结果很感人,特在此记录下来,也是为了让其他小伙伴们避坑

(这里我的fastdfs运行环境是在docker中) 事情是这样的,用APIfox测试fastdfs文件上传的时候发现明明返回的成功的结果但是在浏览器中使用路径却访问不到服务器上的图片,浏览器报错:Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR(服务器拒绝访问),起初以为是没上传成功,所以找到了/var/lib/docker/volumes/fdfs-data/_data/data/00/00目录下查看图片是存在的,也就是图片上传成功了但是浏览器无法访问,这里给大家提供几个思路参考,然后题最后我是docker中nginx的端口没有配置导致无法访问的


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

好了,以上就是我解决这个问题时能想到的法子了,希望能帮到大家!



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   114   0   0 Java
  8s1LUHPryisj   2024年05月17日   49   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
72pvYq8kjCUj