Windows Server 2022 (Azure VM) FTP 服务器。已连接但无法在 SSL 模式下列出文件

Windows Server 2022 (Azure VM) FTP 服务器。已连接但无法在 SSL 模式下列出文件

我在 IIS 中设置了一个 FTP 服务器。数据通道端口范围设置为 5000-6000,并且“防火墙的外部 IP 地址”设置为正确的公共 IP 地址。在此 VM 的 Azure 防火墙中,端口 20、21 和 5000-6000 均已打开。我暂时禁用了 Windows VM 中的防火墙,以尝试使其正常工作。

如果我不使用 SSL 从 FileZilla 连接,则一切正常。如果我使用 SSL 连接,则会发生以下情况(我已将用户名和 IP 地址更改为 xx's)

Status: Connecting to x.x.x.x:21...
Status: Connection established, waiting for welcome message...
Response:   220 Microsoft FTP Service
Command:    AUTH TLS
Response:   234 AUTH command ok. Expecting TLS Negotiation.
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Command:    USER xx
Response:   331 Password required
Command:    PASS ************
Response:   230 User logged in.
Command:    OPTS UTF8 ON
Response:   200 OPTS UTF8 command successful - UTF8 encoding now ON.
Command:    PBSZ 0
Response:   200 PBSZ command successful.
Command:    PROT P
Response:   200 PROT command successful.
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Response:   227 Entering Passive Mode (x,x,x,x,237,114).
Command:    LIST
Response:   150 Opening BINARY mode data connection.
Error:  Connection timed out after 20 seconds of inactivity
Error:  Failed to retrieve directory listing
Status: Disconnected from server

如果我不使用 SSL 连接到服务器,那么就不会出现这个问题,文件会被列出,而且我可以上传文件,一切正常。

答案1

Response: 227 Entering Passive Mode (x,x,x,x,237,114).

IIS 告诉您的客户端连接到端口 237*256+114=60786。

可能有些防火墙会阻止这种情况,但在明文情况下,防火墙具有 FTP 模式,可以监听端口并允许流量。TLS 会阻止防火墙读取这些数据,因此它不起作用。

一般来说,不要使用 FTP。它已经过时了。

相关内容