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