成功最有效的方法就是向有经验的人学习!

fastdfs 服务映射到公网使用问题记录

起因
前一阵子在 B 站上分享了自己如何搭建 fastdfs,在生产中碰到时间的坑,有位小伙伴就加了微信问了我一个问题,大概的意思就是我按照你视屏的方法搭建了一个 fastdfs,在内网上传和下载都是正常的,我在跳板机(不知道是什么,就认为是个路由器吧)上把 22122 和 8888 端口都映射出来了,能正常访问里面上传的资源,但是没办法上传,java 代码报错连接错误。

排查流程如下
以下流程都是因为本人基础概念不扎实照成的,到最后发现应该是立马就能反应出来的错误。具体排查过程如下:

1,让他在java 代码的这台机器上 telnet 跳板机 IP+端口,看看端口是否能正常访问,(结果正常,端口一切都可以访问)

2,然后为了排除不是他 java 代码的问题,我让他在 java 代码运行的那台机器上运行一个 fastdfs 的 tracker,主要是用容器里面发 fdfs_upload_file 命令去测试下到底是哪个地方有问题。

更改/etc/fdfs/client.conf 里面的tracker_server 的地址,然后用 fdfs_upload_file 去上传文件,发现返回如下错误,看到这个错误我就顿悟了,你顿悟了吗?

file

返回的这个地址是内网的 23000 端口,脑子里面想到 client 上传内容的流程图,原来问题出在这;

file

我们能正常的请求 tracker 的 22122 端口 ,就能获取到 storage 的 IP 地址和端口,问题就出在这里,这个地方返回的是内网的地址,我们在外网肯定没有办法正常请求,于是查阅资料好像没有办法获取 storage 的外网地址,既然服务端不行,那我们就只能从客户端下手了,让他在 java 代码里面做个替换,然后他测试下可以正常上传下载。

总结
这个问题花费了这么长时间排查,还是因为自己没有把 fastdfs 的上传下载流程深深地记在脑子,这次记录清晰啊。

赞(3) 打赏
未经允许不得转载:陈桂林博客 » fastdfs 服务映射到公网使用问题记录
分享到

大佬们的评论 2

  1. #1

    大哥,具体是咋实现的呀,一直无法通过公网实现上传

    呆呆慢慢走2年前 (2022-03-15)回复
    • 开发可以处理,程序中做替换处理,我当时是这样的。如果你有更好的办法,可以说一下

      admin2年前 (2022-03-27)回复

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册