Назад | Перейти на главную страницу

Неверная цепочка сертификатов SSL Apache с https: // www

На моем сайте установлен сертификат 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, вам потребуется:

  1. 2 IP-адреса с 2 отдельными сертификатами, каждый из которых привязан к IP-адресу

  2. Подстановочный сертификат, который работает с обоими доменами

Подстановочный знак - лучший вариант, но я предполагаю, что вы не купили один из них, и что у вас есть сертификат, относящийся к "sitename.com"