我在使用IIS 8在Windows Server 2012中设置FTP服务器时遇到问题。 这应该是相当简单的,但我正在努力说服IIS使用我指定的端口范围。
在IIS中,在FTP防火墙支持下,我选择的范围是41000-42000。列出了我们的外部IP,如果我从防火墙转发所有流量,这样可以正常工作。问题是,当我只转发端口20,21和41000-42000时,它不会建立被动连接。这是来自Filezilla(IP Masked)的日志:
Response: 227 Entering Passive Mode (xx,xx,xx,xxx,148,250)
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Connection timed out
Error: Failed to retrieve directory listing
现在我认为服务器建议我们使用端口38138,基于148 * 256 + 250,超出41000-42000的定义范围。这可以解释为什么它无法连接。 我已经google了,这是一个非常常见的问题,但解决方案是重新启动Microsoft FTP服务。不幸的是,我尝试过这个并没有什么区别。我还重新启动了IIS甚至整个服务器,但它仍然丢失了一个不正确的端口范围。我找不到有关IIS 8的任何特定内容,我也找不到其他有相同问题但重新启动服务的人没有修复。
有没有人有任何想法?有没有我错过的东西?
答案 0 :(得分:2)
在IIS ....
则...
这个问题让我很生气,因为没有什么可以告诉你的。我终于在一个旧的MS板上发现了一个人,他刚刚说过IIS重置......没错,而且效果很好。 :)
答案 1 :(得分:1)
我已经设法找出原因,至少为什么发送了错误的端口。
我放弃了微软的FTP服务器并决定使用Filezilla,但令我惊讶的是它有完全相同的问题。但是,通过查看Filezilla提供的日志,我发现它实际上是在请求正确的端口,但是当数据包到达客户端时,端口范围已被修改。
我认为,这与某些防火墙或路由器有关。至少我有信心微软的FTP服务现在正在做它的工作,我可以继续这项调查