我试图通过EC2实例将FTP发送到远程服务器,但登录时,如果发送任何FTP命令,远程服务器就断开连接。通过我的测试,远程FTP服务器似乎正在从我的EC2实例中获取私有IP地址,而不是分配给它的公共弹性IP。在启动连接时,是否有办法“强制”我的实例发送公共IP?
发布于 2013-08-30 12:34:33
FTP有两种操作模式--主动和被动。引用维基百科
FTP可以在主动模式或被动模式下运行,这决定了数据连接如何是established.In活动模式,客户端创建了一个TCP控件连接。在客户端位于防火墙后面且无法接受传入TCP连接的情况下,可以使用被动模式。在这种模式下,客户端使用控制连接向服务器发送PASV命令,然后从服务器接收服务器IP地址和服务器端口号,然后客户端用来打开从任意客户端端口到所接收的服务器IP地址和服务器端口号的数据连接。
总之,在活动模式下,服务器将尝试创建与客户端的连接。因为您的客户端的IP是私有的,是云内部的,所以服务器无法连接到它--这是错误的原因。将FTP客户端配置为使用被动模式,它应该可以工作。
https://stackoverflow.com/questions/18518159
复制相似问题