我从Gandi获得了一个域名www.mondomaine.fr的证书 但对于sql.mondomaine.fr,我想使用自签名SSL证书。
如果我激活sql.mondomaine.fr,www.mondomaine.fr正在使用自签名证书而不是Gandiś证书。
如果我停用sql。一切正常。
如何管理不同证书的使用?
它接收了每个SSL VirtualHost的第一个VirtualHost配置。
感谢您的帮助。
这是我的配置:
对于PHPMyAdmin:
<VirtualHost *:443>
# Chemin vers les données web
DocumentRoot /usr/share/phpmyadmin
ServerName sql.mondomaine.fr
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/phpmyadmin.pem
</VirtualHost>
对于mondomaine.fr
<VirtualHost *:443>
ServerName www.mondomaine.fr
DocumentRoot /var/www/mondomaine/
CustomLog /var/log/apache2/secure_access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/mondomaine.fr.crt
SSLCertificateKeyFile /etc/ssl/mondomaine.fr.key
SSLCACertificateFile /etc/ssl/GandiStandardSSLCA.pem
SSLVerifyClient None
</VirtualHost>
配置是正确的,因为如果第一个VirtualHost读取是PHPMyAdmin.pem,ModSSL使用这个,如果它是mondomaine.fr.crt第一个VirtualHost,Apache使用这个。
答案 0 :(得分:2)
您正在遇到HTTP over SSL的一般问题 - 当客户端连接时,它使用Host:HTTP标头指定要连接到哪个主机,但只有之后 SSL握手(出示证书时)已完成。最新版本的TLS支持扩展(在RFC 4366中指定),允许客户端指定在SSL握手期间要连接的主机,具体支持vhosts;引用RFC:
“”” TLS没有为客户端提供告诉服务器的机制 它正在联系的服务器的名称。客户可能需要它 提供此信息以促进安全连接 在单个底层服务器上托管多个“虚拟”服务器的服务器 网络地址。 “”“
根据维基百科,最新版本的Firefox,Opera,IE,Chrome和Safari都支持此扩展程序;其他客户仍然不会发送扩展,你在那里运气不好。您还必须至少使用TLS 1.1来启用扩展支持。
关于如何使用Apache进行设置,有一些documentation;您可能必须使用特定选项重建OpenSSL和/或Apache,具体取决于您的本地设置。
答案 1 :(得分:0)
它取决于您如何创建证书。如果你只为www子域购买它不适用于sql。 你需要做的是让它允许任何子域,但是这些证书更贵。
另一方面,你可以使用你自己的证书,你只需要确定你在创建你的virtutalhost时放的是什么
<virtualhost XXX.XXX.XXX.XXX:443>
serverName www.mondomaine.fr
# Gandiś ceritificate
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:443>
serverName sql.mondomaine.fr
# your own certificate stuff
</virtualhost>