在启动新服务器后,我今天遇到了一些麻烦。 我做了以下几点:
但是当我用SSL-Test(ssllabs.com)检查我的configuration时,我得到了一个C级。 这是因为我仍然启用了SSLv3。 有线。 我已经在letsencryptconfiguration文件中禁用了它。
但一段时间后,我发现,还有另一个SSLconfiguration文件。 在默认情况下,SSLv3没有被禁用,并且Apache加载了这个值。
我的问题是我有2个文件:
/etc/letsencrypt/options-ssl-apache.conf :让我们对每个虚拟主机定义中包含的configuration文件进行encryption。 /etc/httpd/conf.d/ssl.conf :“标准”SSLconfiguration文件。 在“标准”configuration中禁用SSLv3后,我获得了A +评分。 看起来,Apache从第二个文件中抓取了“SSLProtocol”定义,但从第一个文件中抓取了所有其他选项。
我怎样才能确定,Apache正在加载哪个值,从哪个文件?
除非你采取了特定的措施来包含/etc/letsencrypt/options-ssl-apache.conf文件,否则标准的CentOSconfiguration将不会读取它。
CentOS的默认设置是读取/etc/https/conf/httpd.conf ,后者又包含/etc/https/conf/httpd.conf中的文件。
我怀疑你没有采取任何具体的行动,正在使用默认的文件。 您可以通过在configuration文件中查找include语句以及它们包含的文件来确认实际发生的情况。
Apache httpd指令按照声明的顺序处理。 包含文件在声明的位置处理。 稍后声明的重复指令将覆盖先前的指令。
是的,由于OpenSSL中的错误,Apache将只使用ssl.conf中定义的SSLProtocolconfiguration,如下所述:
是否可以在Apache中为单个VirtualHost(贵宾犬)设置SSLProtocol?
在我使用Apache 2.2.15的经验中,似乎是唯一不会从vhost.conf文件加载的SSLconfiguration,尽pipe我没有testing过所有可能的configuration。 但是,如果您想自己检查服务器中configuration的内容,而不使用SSL Server Test,则某些浏览器工具(如CipherFox)将对您有用。