Azure VM 上的隐式 tls proftpd 拒绝连接

Connection refused with implicit tls proftpd on Azure VM

我们在 AzureVM 上有一个配置为使用隐式 ftps 的 proftpd 服务器。

错误:

Status: Connecting to myPublicIP:990... Status: Connection attempt failed with "ECONNREFUSED - Connection refused by > server". Error: Could not connect to server

相关配置

# /etc/proftpd/proftpd.conf
Port                            21
PassivePorts                  49152 49190
MasqueradeAddress               myPublicIP

# /etc/proftpd/tls.conf
TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             TLSv1 TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
#TLSOptions                 NoCertRequest AllowClientRenegotiations UseImplicitSSL EnableDiags
TLSRSACertificateFile      /etc/proftpd/ssl/certificate.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/certificate.key
TLSVerifyClient            off
TLSRequired                on

我在虚拟机的安全组和接口中开放了以下端口:

20,21,49152-49190,990,989.

如果我不通过隐式端口强制连接,其余连接将完美运行

根据您的配置,您没有启用隐式。如果你执行netstat -ant|grep 990,它应该return null。

所以,如果你使用端口连接ftp服务器,你会得到错误日志。

您可以检查此 link 以启用隐式。

<IfModule mod_tls.c>
<VirtualHost 0.0.0.0>
    Port 990
    TLSEngine on
    TLSOptions UseImplicitSSL
</VirtualHost>
</IfModule>

然后你需要重启ftp服务器,service xinetd restart

当你执行netstat -ant|grep 990时,你会得到如下结果:

root@shui:~# netstat -ant|grep 990
tcp6       0      0 :::990                  :::*                    LISTEN