我们有一台 Windows Server 2012 R2 机器,运行 IIS 6.2(Build 9200)。这是一台 Rackspace 服务器。
该服务器运行一个 FTP 站点,没有任何问题。我们最初与 Rackspace 合作,在他们的网络环境中打开正确的端口,并配置服务器以匹配,一切顺利。我们能够通过命令行或使用 FireFTP、WinSCP 等 GUI 工具连接到 FTP 服务器。
现在我们需要为另一个客户端向服务器添加第二个 FTP 站点。我已经设置了第二个站点,创建了用户,设置了授权规则,全部 9 个。
自从添加第二个站点后,图形工具就无法再连接了。我可以通过 Windows 命令行 FTP 顺利连接到两个站点。它可以登录、连接、列出目录、放置文件和获取文件,所有这些都没有问题。
但是图形工具都无法通过连接。它们验证成功,连接成功,然后在尝试列出目录内容时超时(消息因客户端、FireFTP、Windows Explorer 等而异)。
大多数帖子说这是以下两件事之一:1)防火墙设置,或 2)主动/被动模式。
在被动模式下操作时,图形工具会出现超时问题。如果我将它们切换到主动模式,它们会出现不同的问题。发出命令后,FireFTP 不断被启动PORT |2|fe80::cc7e:88c2:277f:f3f6|1038|
,陷入“尝试重新连接”循环。Windows 资源管理器只是挂起,陷入了遗忘状态。
防火墙设置应该正确,因为如前所述,我们已经处理过这个问题,并且在只有一个网站托管时让它正常工作。在 IIS 服务器级别FTP 防火墙支持部分,Data Control Port Range
设置为2000-2100并External IP Address of Firewall
填写。
这些站点只是普通的 FTP,根本不是 SFTP。
它们都使用 IIS 管理器帐户进行用户隔离登录。
除了默认设置外,没有设置任何请求过滤_vti_bin
。
两个站点都使用虚拟主机在同一个 IP 地址上运行。
有什么想法或方向可看吗?
答案1
GUI 客户端上启用/禁用了 PASV 模式?尝试切换到其他选项,看看是否有区别。
答案2
以供将来寻找的人参考...
我第一次尝试解决 Jason 的回答中的问题,关于 IP,我将两个站点移到服务器上一个“真实”FTP 站点下,并使用用户隔离来限制每个登录的访问权限。但这仍然没有奏效。
所以我取出Data Control Port Range
和设置External IP of Firewall
(甚至不确定是什么让我想到这么做),然后它完美地运行了。
它起作用了;现在一切都很好。