我想连接到FTP目标并向其写入文件。 进入PASV模式后,FTP突然关闭。 FTP服务器设置没有任何问题。我不确定我能在FTP服务器上修复什么来解决这个问题。有什么想法吗?
答案 0 :(得分:1)
问:客户端消息中的IP地址是否与客户端访问的服务器IP相同,或者是服务器的非公共IP地址? ---答:客户获得的是非公共IP。
这听起来像NAT后面的FTP服务器,它在PASV命令的回复中提供内部私有IP地址。由于客户端可能不在同一专用网络中,因此客户端无法访问此专用地址。 因此客户端收到以下错误:
" java.net.SocketPermission" " 10.xx.xxx.xxx:123456" "连接,解决"
一方支持NAT的FTP与FTP协议的一般体系结构冲突,即动态创建的数据通道,其中端点在控制连接中得到通知。如果只有一个对等体在NAT后面,您通常可以使用被动模式(NAT后的客户端)或主动模式(NAT后的服务器)来解决它。如果NAT后面的同伴或者如果你想在不合适的情况下使用被动/主动模式,它会变得更复杂,你通常需要路由器/防火墙上的帮助器或客户端/服务器的特定配置以及许多丑陋的端口转发。 / p>