哪个configuration值是apache加载?

在启动新服务器后,我今天遇到了一些麻烦。 我做了以下几点:

  • 安装了CentOS 7
  • 安装了Apache + PHP
  • 使用SSL保护我的服务器(letsencrypt)

但是当我用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)将对您有用。