我在 Apache2 上运行了几个不同的虚拟主机。每个都有自己的 .conf 文件。我试图将所有流量重定向到https://example.com因为那是我的证书所在。https://example.com,http://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>