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