5

我是一个非技术但能够阅读手册的网站所有者。我在 Debian 9.0 服务器上运行 Apache 2.4.10。我想禁用 TLS 1.0。我已经阅读了 SSLProtocol 指令的 Apache 文档

在我的虚拟主机文件中,我使用了以下指令:

SSLProtocol all -TLSv1 -SSLv3

即使在重新加载然后重新启动 Apache 之后,这也不起作用。然后我也将相同的指令添加到 ssl.conf 文件中,以确保,即使在重新加载和重新启动之后仍然没有运气。我还使用以下指令尝试了相同的操作:

SSLProtocol +TLSv1.1 +TLSv1.2

仍然没有运气。我进行了以下搜索,只是为了查看我是否在配置文件的其他地方使用了 SSLProtocol 指令,但同样没有运气:

grep -R 'SSLProtocol' .

我还检查了网站的 .htaccess 文件,以确保我没有覆盖任何内容(尽管我不知道您可以在 .htaccess 文件中更改此设置)。有任何想法吗?谢谢您的帮助!

4

3 回答 3

10

在这个“错误”的大部分情况下,如果你在服务器上安装了letsencrypt,它的配置文件设置了取代ssl.conf或vhosts设置的协议:

/etc/letsencrypt/options-ssl-apache.conf

错误 60739 - SSLProtocol 设置似乎没有效果

于 2019-03-21T14:14:56.160 回答
2

这里有这个问题的答案:

如何在 Apache 中禁用 TLS 1.1 和 1.2?

基本上,您必须在ssl.conf文件中禁用此协议。在您的 vhosts.conf 或等效文件中执行此操作将不起作用(尽管在那里设置此配置是正确的),由于 OpenSSL 中的一个错误,如其中引用的答案之一所述。

于 2017-10-06T19:33:22.173 回答
1

截至今天,2018 年 11 月 15 日,有一个关于未能在 Apache 2.4 中禁用 tls1.0的已知错误。因此,当您的修改无缘无故不起作用时,请不要撞到头。希望我们能尽快修复它。

也形成票

这似乎在2.4.18 + 2.4.23之间发生了变化,因为设置 SSLProtocol 使用得到尊重。

于 2018-11-15T23:12:33.023 回答