为什么一个配置中的 TLS 版本会导致另一个配置中断?

为什么一个配置中的 TLS 版本会导致另一个配置中断?

我有一个包含多个 VHost 的 Apache 代理。其中一些是我之前的旧配置。长话短说,我删除了服务器上一些已过期的 .crt 文件,但忘记删除相关文件/etc/apache2/ssl/*.conf,因此当 Apache 尝试轮换其日志时,它会失败。

在修复了这个问题之后,我开始502 Proxy Error在导航到只有一个VHosts。其他的都起作用了。

这就是导致一切崩溃的原因。在其中一个文件中/etc/apache2/sites-enabled/*.conf,有这样一行:

SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
#SSLProxyProtocol +TLSv1 <---- THIS BROKE IT

其余的都VHosts在使用TLSv1.2。我的问题是,为什么这只会导致一次中断而不是全部中断,尤其是当文件中VHost甚至没有旧配置时?TLS

更新我将 Apache 的日志级别设置为debug,它显示了错误,但没有告诉我哪个配置文件是罪魁祸首。幸运的是,我知道哪一个:

[Mon Aug 30 08:26:35.098657 2021] [ssl:info] [pid 10843] SSL Library Error: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version (SSL alert number 70)
[Mon Aug 30 08:26:35.098679 2021] [ssl:info] [pid 10843] [remote 192.168.66.120:8004] AH01998: Connection closed to child 0 with abortive shutdown (server www.example.com:443)
[Mon Aug 30 08:26:35.098715 2021] [ssl:info] [pid 10843] [remote 192.168.66.120:8004] AH01997: SSL handshake failed: sending 502

相关内容