我们正在尝试在 Azure 云中复制我们的服务器。两者都是 Windows 2012 R2 服务器。FTP 在原始服务器上有效,但在复制服务器上无效。此外,复制服务器支持本地主机 FTP 访问,但不支持远程访问。有趣的是,它识别带有 530 的错误凭据,但正确凭据会指向“连接重置”页面。我们正在使用 IIS 来管理服务器网站。
我知道你在想什么。这似乎是防火墙规则的问题。我对此做了大量研究,但毫无结果。具体来说,这个问题ServerFault 上似乎直接解决了该问题,但修复并没有起作用。
我能想到的唯一其他线索是,当尝试通过 FileZilla 连接时,连接总是在命令 PASV 之后立即中止。我认为这与被动 FTP 有关,但似乎有适当的防火墙规则来解决这个问题。
我们不使用 SSL。我在 IIS 中遗漏了什么吗?我该怎么做才能使 FTP 远程工作?提前致谢。
答案1
被动 FTP 要求 FTP 服务器从外部网络向其开放端口。Azure VM 使用 NAT,因此需要额外配置才能支持被动 FTP。
(粗略)清单:
- 在 IIS FTP 管理器中设置外部 VIP
- 设置要使用的端口范围(您可能需要在这里表现出一些节制 - 除非这是一个非常非常繁忙且有大量并发会话的 FTP 服务器,否则不需要配置数千个端口)
- 配置虚拟机防火墙以允许 FTP 流量(记住您在上一步中定义的自定义端口范围)
- 将 Azure 中的远程端点(与前面步骤相同的端口范围)添加到虚拟机,以便转发端口
这里是一篇来自微软的博客文章,可以指导您完成此过程。