我是一位非技术但能够阅读的手册网站所有者。我在Debian 9.0服务器上运行Apache 2.4.10。我想禁用TLS 1.0。我看过Apache documentation for the SSLProtocol directive。
在我的虚拟主机文件中,我使用了以下指令:
SSLProtocol all -TLSv1 -SSLv3
即使在重新加载然后重新启动Apache之后,它也无法正常工作。然后我也将相同的指令添加到ssl.conf文件中,只是为了确定,即使在重新加载和重新启动之后仍然没有运气。我也尝试了以下指令:
SSLProtocol +TLSv1.1 +TLSv1.2
仍然没有运气。我做了以下搜索,看看我是否在我的配置文件中的其他地方使用了SSLProtocol指令,但同样没有运气:
grep -R 'SSLProtocol' .
我还检查了网站的.htaccess文件,以确保我没有覆盖任何内容(虽然我不知道你可以在.htaccess文件中更改此设置)。有任何想法吗?谢谢你的帮助!
答案 0 :(得分:2)
这里有一个答案:
How to disable TLS 1.1 & 1.2 in Apache?
基本上,您必须在 ssl.conf 文件中禁用此协议。在vhosts.conf或等效文件中执行此操作将无法正常工作(尽管在此处设置此配置是正确的),因为OpenSSL中存在一个错误,如其中一个答案所述。
答案 1 :(得分:1)
从今天(2018年11月15日)开始,有一个bug关于无法在Apache 2.4中禁用tls1.0的信息。因此,当您的修改无缘无故失效时,请不要打扰您。希望我们能尽快将其修补。
也要出票
这似乎已在 2.4.18 + 2.4.23 之间发生了变化,因为将SSLProtocol的使用设置为受尊敬。
答案 2 :(得分:0)
在很多情况下,对于此“错误”,事实表明,如果在服务器上安装了letencrypt,则它的配置文件会设置取代ssl.conf或vhosts设置的协议:
/etc/letsencrypt/options-ssl-apache.conf