我们为网络设置了一个虚拟机服务器,使用 Filezilla Server 设置了 FTP,并且所有端口都以 PASV 模式打开,该服务器运行了几个月,但后来突然无缘无故地停止工作,并且在客户端请求使用 PASV 模式时断开连接。
我们最终放弃了这台服务器,并建立了另一台运行 IIS 的服务器。
我再次设置了我们想要使用的 PASV 端口(5001-5005),这几个星期以来一直运行良好,直到今天,现在 PASV 模式又停止工作了。我刚刚打开了另一组端口(2501 - 2505),并将 FTP 设置为使用此端口,但问题仍然存在。所有防火墙和防病毒软件都已禁用。
FileZilla 客户端有此日志:
命令:TYPE I
响应:200 类型设置为 I。
命令:PASV
错误:与服务器断开连接:ECONNABORTED - 连接中止
错误:无法检索目录列表
更新:
从客户端使用 ACTIVE 模式可以正常工作。只是我们在 C# 中使用的组件仅适用于 PASV
答案1
我发现 azure 使用端点的方式是,如果端口似乎已死,则 azure 将停止在该端口上的转发。由于 PASV 的端口在建立 FTP 连接并启动 PASV 模式之前不处于活动状态,因此 azure 将停止转发。
有一个解决方法,即使用 Azure Powershell 来设置端口。