VirtualHost 将 https://www.example.com 重定向到 https://example.com 不起作用

VirtualHost 将 https://www.example.com 重定向到 https://example.com 不起作用

我在 Apache2 上运行了几个不同的虚拟主机。每个都有自己的 .conf 文件。我试图将所有流量重定向到https://example.com因为那是我的证书所在。https://example.comhttp://example.com, 和http://www.example.com一切正常。然而,https://www.example.com无法正常工作。这是我的 .conf 布局:

<VirtualHost *:443>
ServerName example.com
... (server/ssl configuration)
</VirtualHost>

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

<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>

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

我错过了什么?

答案1

我认为这是不可能的,如果你没有正确的证书https://www.example.com在客户端与服务器握手(ssl)过程中,建立安全连接是第一步。

如果你有证书https://www.example.com将其添加到.conf文件中:

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerName www.example.com 
        Redirect permanent "/" "https://example.com/"
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/www.example.com.crt
        SSLCertificateKeyFile /etc/ssl/private/www.example.com.key
        SSLCertificateChainFile /etc/ssl/certs/www.example.com.root-bundle.crt
    </VirtualHost>
</IfModule>

相关内容