Sco*_*ell 6 iis certificate ftps
我运行一个使用 IIS 10 的 FTP 服务器的网站,并将其设置为使用基于 TLS 的显式 FTP,并且它在去年+中运行良好。我通过Digicert购买了服务器证书。
服务器证书已于 2019 年 1 月 4 日过期。我在 Digicert 更新了该证书,该证书在 2021 年有效。然后我将其安装在 Windows 服务器上,并更新了 FTP 站点以使用新证书。
但是,当我尝试连接 FileZilla 客户端时,日志报告以下内容:
Status: Connecting to xxx.xxx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Run Code Online (Sandbox Code Playgroud)
但随后弹出警告,指出证书已于 2019-01-04 过期。
如果我单击“确定”,它会继续,但随后会显示:主连接和数据连接证书不匹配。这是“正在初始化 TLS...”之后的日志
Status: Verifying certificate...
Status: TLS connection established.
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 (38,101,199,155,19,46).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Primary connection and data connection certificates don't match.
Error: Transfer connection interrupted: ECONNABORTED - Connection aborted
Response: 226 Transfer complete.
Error: Failed to retrieve directory listing
Status: Disconnected from server: ECONNABORTED - Connection aborted
Run Code Online (Sandbox Code Playgroud)
这就像初始化 TLS 逻辑以某种方式获取旧证书,但一旦连接,它就会获取新证书并发现它们不匹配。
如果我更新 IIS FTP 服务器以使用旧证书并重试连接,我会在初始化 TLS 上收到相同的过期证书警告,但是当我单击“确定”时,它会连接并且我可以毫无问题地传输文件(尽管我必须确认)每次转让证书都会过期)。
这里发生了什么?FileZilla 客户端是否缓存初始化 TLS 证书?我需要在 IIS FTP 配置中执行一些其他设置或操作才能“获取”新证书吗?(我尝试在更新证书后重新启动网络服务器 - 仍然没有骰子,同样的问题。)
编辑 2019-01-13:我继续从 Windows 证书存储中删除了过期的证书,现在当我尝试通过 FTP 连接时,AUTH TLS 命令失败:
Status: Connecting to ...
Status: Connection established, waiting for welcome message...
Response: 220 Microsoft FTP Service
Command: AUTH TLS
Response: 431 Failed to setup secure session.
Command: AUTH SSL
Response: 431 Failed to setup secure session.
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)
这告诉我这是服务器端的问题。即,服务器尝试查找过期的证书,但找不到。我不明白为什么 IIS FTP 仍然尝试使用旧证书。
如果我查看%WinDir%\System32\Inetsrv\Config\applicationHost.config,我会看到 FTP 服务器部分的这些设置:
<ftpServer>
<security>
<ssl serverCertHash="E10..." serverCertStoreName="My" ssl128="false" controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
<authentication>
<basicAuthentication enabled="true" />
</authentication>
</security>
</ftpServer>
Run Code Online (Sandbox Code Playgroud)
报告的是当前serverCertHash证书(而不是过期证书)的指纹,因此我不知道 IIS FTP 如何/在何处/为何使用过期证书进行 AUTH TLS。
编辑2019-02-13:
不幸的是,我无法让这个工作。最后,我安装了 FileZilla Server 并创建了一个自签名证书供 FileZilla Server 使用。
谢谢
小智 6
我对此一无所知,并偶然发现了解决方案(现在对我有用)。
它现在适用于我的多个 ftp 主机。我之前只是将证书应用到每个主机节点......
| 归档时间: |
|
| 查看次数: |
7595 次 |
| 最近记录: |