На моем сайте установлен сертификат ssl для виртуального хоста в моей настройке apache. Он перенаправляет http
к https
и https://sitename.com работает, но по какой-то причине, когда пользователь явно вводит www
, "https://www.sitename.com", Я получаю ошибку неверного сертификата.
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 IP-адреса с 2 отдельными сертификатами, каждый из которых привязан к IP-адресу
Подстановочный сертификат, который работает с обоими доменами
Подстановочный знак - лучший вариант, но я предполагаю, что вы не купили один из них, и что у вас есть сертификат, относящийся к "sitename.com"