在Windows 2008 R2 Web服务器上,我有一个Windows,它可以将文件上传到外部的服务器。实际上是多台服务器(Google,Bing等)。这是一个.NET应用程序,它使用内置的.NET FTP库.
我得到了以下错误的混合体:
The operation has timed out.
The remote server returned an error: (425) Can't open data connection.Windows防火墙(域、私有、公共)设置为允许出站连接。
发布于 2011-06-21 02:40:21
FTP不是一个防火墙友好的协议.它早在互联网时代之前,防火墙是常见的,所以假设它是完美的oK对话双方打开端口彼此。命令通道是您在连接到FTP服务器时打开的,它是您与服务器之间启动的连接。用于下载内容的数据通道是FTP服务器向您发起的连接。更糟糕的是,FTP选择显示的端口是随机的高端口,因此配置防火墙以允许正确的端口是很棘手的。
这就是为什么他们在FTP协议中创建“被动”模式的原因。这是PASV动词。这告诉FTP服务器反转数据通道的启动方向;它给客户端提供要连接的高端口,客户端启动连接,服务器通过该连接提供数据。防火墙要容易得多。
对于.NET的库,您可能会更幸运地将UsePassive属性设置为True。
https://serverfault.com/questions/282444
复制相似问题