Ошибка сертификата SSL в Apache 2.4

У меня два веб-сайта на сервере Apache 2.4. Он настроен как NameBaseVhost, и оба имеют собственный ssl-сертификат с подстановочными знаками (* .site1.com и * .site2.com), выданный Godaddy. Все работает нормально. Когда я захожу на веб-сайты через поддомены www.site1.com и www.site2.com, он работает нормально. В Apache есть правило перезаписи для перенаправления http на https, поэтому оба сайта перенаправляются идеально.

Проблема в том, что когда я перенаправляю корневой домен на www, для site2.com это дает ошибку.

Error code: ssl_error_bad_cert_domain

site2.com uses an invalid security certificate. 
The certificate is only valid for the following names: 
*.site1.com, site1.com 

Конфигурация HTTP для site1.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R]
# Redirect root domain to www
RewriteCond %{HTTP_HOST} ^site1\.com$ [NC]
RewriteRule ^(.*)$ https://www.site1.com/$1 [R=301,L]

<VirtualHost *:443>
ServerName www.site1.com
DocumentRoot /var/www/html/site1/public/
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/site1/site1.crt
SSLCertificateKeyFile /etc/pki/tls/private/site1/site1.key
SSLCertificateChainFile /etc/pki/tls/certs/site1/gd_site1.crt
Header always set Strict-Transport-Security "max-age=31536000;
</VirtualHost>

Конфигурация Httpd для site2.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R]
# Redirect root domain to www
RewriteCond %{HTTP_HOST} ^site2\.com$ [NC]
RewriteRule ^(.*)$ https://www.site2.com/$1 [R=301,L]

<VirtualHost *:443>
ServerName www.site2.com
DocumentRoot /var/www/html/site2/public/
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/site2/site2.crt
SSLCertificateKeyFile /etc/pki/tls/private/site2/site2.key
SSLCertificateChainFile /etc/pki/tls/certs/site2/gd_site2.crt
Header always set Strict-Transport-Security "max-age=31536000;
</VirtualHost>

Как решить эту проблему?

2
задан 19 December 2015 в 11:55
1 ответ

Проблема заключается в использовании в VHost. Используйте конкретные IP-адреса веб-сайтов, в противном случае весь SSL-трафик будет маршрутизироваться через первую запись VHost.

.
-1
ответ дан 3 December 2019 в 16:06

Теги

Похожие вопросы