我试图将大量文件从服务器A传输到服务器B。我在A上设置了FTP (使用FileZilla)。
当我试图从我的电脑连接到A时,它工作得很好。但是当我试图从B连接到A时,它就不起作用了。FTP用户登录,但是目录列表命令仍然被卡住。
防火墙端口21打开。我尝试了几个服务器,不同的FTP客户端,但没有效果。除了FileZilla之外,我还尝试了内置于FTP服务中的ISS,并得到了同样的结果。
完全使用相同的凭据从本地连接。但是服务器到服务器的连接不起作用。
服务器: Win 2012 R2和IIS8.5
有什么想法吗?非常感谢。
发布于 2016-02-12 15:30:43
FTP和FTPS使用两个通道进行通信--控制通道和数据通道.当您传递凭据(用户名和密码)时,您正在控制通道上进行通信,通常是端口21。
编辑(澄清主动和被动客户端配置):
然后发生两种情况之一,这取决于您的FTP/S客户端是配置为主动数据连接还是被动数据连接。如果您的客户端配置为活动连接,客户端将要求服务器在端口20上为数据通道(或客户端指定的其他端口)进行通信。
如果您的客户端配置为被动连接,则客户端将推迟到服务器上,以便端口用于数据通道。然后,FTP服务器告诉客户端要使用哪个端口作为数据通道。
如果第二个端口被阻塞或限制,您的数据通信(如目录列表)将失败。
确定FTP/s客户端使用的是主动配置还是被动配置,以及相应的端口(用于活动配置的端口20 )是打开的。
对于被动配置,请检查FTP服务器配置它用于数据通道的端口。您可以设置它,因为它可能默认为一个随机的高端口。
我知道您使用的是Windows2012 R2,这篇TechNet文章说它适用于早期的Windows版本,但它给出了一个很好的解释,说明了我试图描述的内容。
https://technet.microsoft.com/en-us/library/dd464003(v=ws.10).aspx
https://stackoverflow.com/questions/35365556
复制相似问题