我用我的虚拟主机和SSL得到了一个设置。 我发现了这个问题,我需要一个解决scheme。 问题是,我有我的虚拟主机和服务器名称设置的方式,LAST VirtualHost指令将SSL证书文件与ServerName关联,无论IP地址或ServerAlias。
在这种情况下,www.site1.com上的SSL使用在最后一个VirtualHost上build立的证书文件; www.site2.com。
这是应该如何工作? 这似乎正在发生,因为他们都使用相同的ServerName; 但我不认为这会是一个问题。 我具体使用相同的ServerName的目的,我真的不能改变这一点。 所以我需要一个很好的解决scheme。 是的,我可以购买另一个UCC SSL,并把它们都放在上面,但是我已经这样做了; 这些实际上已经是UCC SSL。 他们恰好是两个不同的UCC SSL。
<VirtualHost 11.22.33.44:80> ServerName somename ServerAlias www.site1.com UseCanonicalName On RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 11.22.33.44:443> ServerName somename ServerAlias www.site1.com UseCanonicalName On SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/cert1.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/cert1.key SSLCertificateChainFile /usr/local/apache/conf/chain/gd_bundle.crt RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 55.66.77.88:80> ServerName somename ServerAlias www.site2.com UseCanonicalName On RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 55.66.77.88:443> ServerName somename ServerAlias www.site2.com UseCanonicalName On SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/cert2.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/cert2.key SSLCertificateChainFile /usr/local/apache/conf/chain/gd_bundle.crt RewriteEngine On RewriteOptions Inherit </VirtualHost>
尝试在VirtualHost之外添加这些行:
NameVirtualHost 11.22.33.44:443 NameVirtualHost 55.66.77.88:443
要使用服务器名称指示,您需要Apache 2.2.12或更高版本。 以前的版本不支持这种SSL扩展。
(另一种方法是mod_gnutls – 然而,它不如官方mod_ssl稳定。)