我正在为新服务器设置 SSL,并按照我在上一个服务器上的配置方式进行操作。我注意到我在两个不同的地方指定了
SSLCertificateFile
、SSLCertificateKeyFile
和SSLCertificateChainFile
。我的文件中有它ssl.conf
(包含在文件中),文件中的块httpd.conf
中也有它。<VirtualHost *:443>
httpd.conf
我是否需要在两个地方都设置这三个,还是只需设置一个就足够了?其中一个相对于另一个对性能有什么影响吗?
答案1
您不需要在两个地方都进行这些设置。对于单个站点,使用哪一个并不重要,并且性能没有差异。
在多站点配置中,这一点非常重要。例如,如果您有两个站点 a.example.com 和 b.example.com,则在站点级别定义单个通配符 *.example.com 证书将是理想的选择。
另一方面,如果您有两个站点 a.example.com 和 b.contoso.com,您可能希望在虚拟主机级别指定这些证书,因为它们不能共享证书且仍然有效。
答案2
SSL 定义条目可以位于 VirtualHost 内,以便仅为该 VirtualHost 提供证书。当您想使用 SSL 为多个站点提供服务并且它们具有不同的证书时,这当然会很有用。
配置还可以具有默认 SSL 证书,该证书可用于任何未明确指定证书的 VirtualHost。