docker 连接ftp失败的,故障代码500 Illegal PORT command.处理过程
故障现象:
自建应用,改用docker搭建后,无法上传附件,docker内测试ftp连接,提示错误500 Illegal PORT command.宿主机ftp测试连接,425 Failed to establish connection。本地ftp服务器测试连接,上传正常。windows10ftp工具连接正常。
处理过程
vim /etc/vsftpd.conf
查看ftp配置模式
被动模式
分析原因:可能是防火墙端口设置的问题
宿主机和ftp服务器执行
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
仍然无法解决
然后开放服务器20020-20120端口
命令:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20020:20120 -j ACCEPT
iptables save
service iptables restart
再次进入宿主机测试:
先touch 222 一个文件
连接ftp x.x.x.x
put 222 仍然报错
但 执行
passive
put 222 成功
进入docker容器,连接ftp,执行passive put 222
上传成功
打开网站后台,上传测试图片,上传成功,问题解决。