我的站点在我的 apache 设置中为虚拟主机安装了 ssl 证书。它重定向http
到https://sitename.comhttps
并且可以正常工作,但是由于某种原因,当用户明确键入“ https://www.sitename.com ”时,我收到了无效的证书错误。www
http://www.sitename.com
有效,但一旦你使用 https,一切都会中断。
这是我的虚拟主机 apache 配置的一部分
<VirtualHost *:80>
ServerName sitename.com
RedirectMatch permanent ^/(.*)$ https://sitename.com/$1
</VirtualHost>
<VirtualHost *:80>
ServerName catch-all.sitename.com
ServerAlias *.sitename.com
RedirectMatch permanent ^/(.*)$ https://sitename.com/$1
</VirtualHost>
<VirtualHost *:443>
ServerName sitename.com
Header always set Strict-Transport-Security max-age=31536000
SSLProxyEngine on
在解密过程发生之前,httpd 不知道主机标头中的主机名是什么,因此如果原始请求与证书中的主机名不匹配,您将收到错误消息。
如果您想让两个域都使用 https,您将需要:
2 个带有 2 个单独证书的 ip 地址,每个证书都附加到一个 ip 地址
适用于两个域的通配符证书
通配符是最好的选择,但我猜您没有购买其中之一,并且您拥有特定于“sitename.com”的证书