我在 Windows 2012 R2 上运行 IIS 8.5。
我创建了一个使用端口 8021 的 FTP 站点,当尝试使用 FileZilla(普通 FTP)进行连接时,我收到错误消息“20 秒不活动后连接超时。无法检索目录列表”。我在 FileZilla 中使用主动模式,但在 FileZilla 连接窗口中显示它自动切换到被动模式。知道为什么吗?我必须在 IIS 中配置任何内容才能不使用被动模式吗?
14:19:39 Status: Connecting to ip:8021...
14:19:40 Status: Connection established, waiting for welcome message...
14:19:41 Status: Logged in
14:19:41 Status: Retrieving directory listing...
14:20:02 Command: PWD
14:20:02 Response: 257 "/" is current directory.
14:20:02 Command: TYPE I
14:20:02 Response: 200 Type set to I.
14:20:02 Command: PORT 10,0,1,16,5,64
14:20:02 Response: 501 Server cannot accept argument.
14:20:02 Command: PASV
14:20:02 Response: 227 Entering Passive Mode (ip,250,68).
14:20:02 Command: LIST
14:20:02 Response: 150 Opening BINARY mode data connection.
14:20:02 Error: Connection timed out after 20 seconds of inactivity
14:20:02 Error: Failed to retrieve directory listing
提前致谢。
更新:尝试了被动模式,但仍然没有成功,
09:27:20 Status: Connecting to ip:8021...
09:27:21 Status: Connection established, waiting for welcome message...
09:27:22 Status: Logged in
09:27:22 Status: Retrieving directory listing...
09:27:42 Command: PWD
09:27:42 Response: 257 "/" is current directory.
09:27:42 Command: TYPE I
09:27:42 Response: 200 Type set to I.
09:27:42 Command: PASV
09:27:42 Response: 227 Entering Passive Mode (ip,193,17).
09:27:42 Command: LIST
09:27:42 Response: 150 Opening BINARY mode data connection.
09:27:42 Error: Connection timed out after 20 seconds of inactivity
09:27:42 Error: Failed to retrieve directory listing
更新:已解决! https://www.iis.net/learn/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7
向 IIS 添加了端口范围FTP 防火墙支持对于服务器节点,并在外部防火墙中打开端口范围以允许被动模式。感谢 Martin 指出
答案1
您的 FTP 客户端 (FileZilla) 在命令中发送本地网络 IP 地址PORT
。远程 FTP 服务器无法连接不同网络中的本地地址。
您必须配置客户端以报告外部 IP 地址。在 FileZilla 中,转到编辑 > 设置 > 连接 > FTP > 主动模式 > 主动模式 IP。
并且您必须配置本地防火墙和/或 NAT 以允许/路由传入连接。实际上这几乎没有意义。现在没有人使用主动 FTP 模式,正是出于这个原因。