我在Azure Windows Server 2012虚拟机上的IIS 8.0中设置了FTP。
按照本文中的说明(http://itq.nl/walkthrough-hosting-ftp-on-iis-7-5-a-windows-azure-vm-2/)后,我已经能够在被动模式下使FTP工作正常,但在尝试从FileZilla以活动模式连接时失败。 FTP客户端可以在活动模式下连接到服务器,但在尝试执行LIST命令时失败并显示超时错误消息。
我仔细修改了20和21个端点在azure vm中设置,没有指向探测端口,并且Windows防火墙允许外部连接到20和21个VM端口。
我无法弄清楚为什么主动模式不起作用而被动模式工作正常。
我知道还有其他用户存在一些问题。
请问是否有人在azure VM中设置了活动ftp?
答案 0 :(得分:4)
之前的回复不正确。 https://stackoverflow.com/a/20132312/5347085
我知道这是因为我广泛使用Azure支持。该问题与服务器无法连接到客户端无关,我的测试方法可能会消除客户端问题。
在与Azure支持人员合作2周后,他们对问题的评估主要是“主动模式FTP使用大范围的一系列随机端口,用于从客户端到服务器的数据通道。您只能向Azure VM添加150个端点,因此您无法添加所有这些端口并使Active FTP 100%正常工作。为了做到这一点,你需要使用“实例级公共IP”,并基本上绕过端点机制,将你的VM直接放在互联网上,完全依靠本机操作系统防火墙进行保护。
如果您必须在Azure上使用Active Mode FTP并且可以将VM置于公共IP上,那么他提供了以下链接:
https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-instance-level-public-ip/
更新:Azure支持的官方回复:
乔什,首先感谢您对此的耐心。正如我在我的提到的那样 最后一封电子邮件我正在与我们的技术顾问一起工作,这是支持 升级工程师在Azure中重现此环境。我们的 使用WS_FTP 7.7(您的版本7.1)和WS_FTP配置测试 12个客户端以及Windows FTP客户端。结果我们的 测试与您遇到的相同。我们能够登录 到服务器,但我们得到相同的命令端口/列表失败。
正如我们之前讨论的那样,Active FTP使用随机端口来存储数据 在客户端的飞机。服务器通过21和20连接,但是 传入端口是一个随机的短暂端口。在Passive FTP中,这可以 定义,因此可以为您的每个端口创建端点 用于部分数据平面。
基于我们昨天的广泛测试,我不希望任何其他主动FTP解决方案工作。升级工程师那个 昨天协助也与他的团队其他成员讨论了这个问题 他们还没有在Azure中看到任何成功的主动FTP部署。
总之,我的初步想法已得到我们的确认 测试和 Active FTP将无法在Azure环境中运行 这一次。我们一直在努力改进Azure的产品 这可能会在将来继续发挥作用 成长。
如果您要托管,则需要转为被动FTP设置 Azure中的此FTP服务器。
答案 1 :(得分:0)
使用活动ftp时,客户端会启动与FTP服务器上端口21的连接。这是命令或控制通道,此连接通常成功。但是,FTP服务器然后尝试在客户端上打开端口20。这是数据通道。此频道用于所有数据传输,包括目录列表。
因此,在您的情况下,活动FTP无法正常工作,因为服务器无法启动与客户端的连接。这可能是服务器(出站防火墙规则)或客户端本身的问题。这通常是一件好事,因为您不希望基于Internet的服务器能够在客户端计算机上打开连接。
在被动模式下,客户端/服务器有明显区别,客户端启动与服务器的连接。建议使用被动模式,所以如果你有这种工作我就会坚持下去。