1

我从 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 使用这个。

4

2 回答 2

2

您遇到了基于 SSL 的 HTTP 的一般问题 - 当客户端连接时,它使用 Host: HTTP 标头指定要连接的主机,但这仅SSL 握手之后出现(当提供证书时)已完成。最新版本的 TLS 支持扩展(在 RFC 4366 中指定)允许客户端指定在 SSL 握手期间它打算连接的主机,以支持虚拟主机的特定意图;引用 RFC:

""" TLS 没有为客户端提供一种机制来告诉服务器它正在联系的服务器的名称。客户端可能希望提供此信息以促进与托管多个“虚拟”服务器的服务器的安全连接单个底层网络地址。"""

根据维基百科,最新版本的 Firefox、Opera、IE、Chrome 和 Safari 支持此扩展;其他客户仍然不会发送扩展名,而你在那里不走运。您还必须至少使用 TLS 1.1 才能启用扩展支持。

有一些关于如何使用 Apache 进行设置的文档;您可能必须使用特定选项重建 OpenSSL 和/或 Apache,具体取决于您的本地设置。

于 2009-10-10T16:10:56.593 回答
0

它取决于您如何创建证书。如果您只为 www 子域购买它,则不适用于 sql。你需要做的是让它允许任何子域,但是这些证书更昂贵。

另一方面,您可以使用自己的证书,您只需要确定在创建虚拟主机时要放置什么

<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>
于 2009-10-10T16:00:09.703 回答