apache2 中具有永久重定向和 www 子域的自签名证书

apache2 中具有永久重定向和 www 子域的自签名证书

在我的本地 Mac 机器上,我有以下 apache 配置片段:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    Redirect permanent / https://www.example.com
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName example.com
        ServerAlias www.example.com

        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/my_example.cert
        SSLCertificateKeyFile /etc/apache2/ssl/my_example.key
    </VirtualHost>
</IfModule>

当我https://example.com在 Chrome 或 Safari 中打开时没有问题。但是,如果我https://www.example.com使用 Chrome 打开,则会出现:

NET::ERR_CERT_COMMON_NAME_INVALID

Subject: example.com
Issuer: example.com

在 Safari 中,我只收到一条通用的“无法连接到服务器”消息。我忘记了命令,但您可以检查 .cert 文件的值。对于通用名称,它输出example.com。这是问题所在吗?该值是否需要通配符?如果需要,当提示制作证书时,如何输入通配符?

另外,永久重定向值应该是多少?是https://example.com还是有关系吗https://www.example.com

答案1

如果您想从一个域上的 https 重定向到另一个域上的 https,您需要一个通配符证书或两个单独的证书。

常规证书仅在主机名完全相同时才匹配。通配符证书将匹配没有子域的域或有任何子域的域。子子域(如https://sub.sub.example.com) 但在大多数浏览器中都不会匹配(直到最近,标准对于这种情况还比较模糊)。

相关内容