Apache 2.2. У меня есть SSL-сертификат подстановки для *.mydomain.com
. Я хочу разрешить безопасные соединения также непосредственно на mydomain.com
. Я нашел решение, что я могу сделать адрес для моего сайта www.mydomain.com
, и действительно - сертификат работает, когда я ввожу www.mydomain.com
. Рабочая конфигурация:HTTPS переадресация с символом символа
<VirtualHost *:443>
ServerName www.mydomain.com
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cert.der
SSLCertificateKeyFile /etc/apache2/key.pem
// site config, redirects to Apache Tomcat
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain.com
Redirect permanent/https://www.mydomain.com
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/cert.der
SSLCertificateKeyFile /etc/apache2/key.pem
</VirtualHost>
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
Redirect permanent/https://www.mydomain.com
</VirtualHost>
Когда я вхожу в http://mydomain.com
и http://www.mydomain.com
я перенаправлены на https://www.mydomain.com
, как и ожидалось.
Однако, когда я ввожу https://mydomain.com
, браузер говорит, что сертификат недействителен (замок блокирован). Я должен подтвердить, что я знаю и доверяю сертификату (в chrome он называется «добавить исключение безопасности»), а после него - я правильно перенаправлен на https://www.mydomain.com
- и висячий замок зеленый.
Вопрос: как перенаправить https://mydomain.com
на https://www.mydomain.com
, не беспокоящий пользователя о недействительном сертификате?
Я пытался удалить SSL*
записи из второго VirtualHost
определения, но апач не запускается и появляется следующее сообщение в журналах:
[error] Server should be SSL-aware but has no certificate configured
[Hint: SSLCertificateFile] (/etc/apache2/sites-enabled/mydomain:1)
Имеет ли ваш сертификат записи SAN для '* .mydomain.com' и' mydomain.com'? (Кстати, использование * постоянного * переадресации при тестировании различных параметров конфигурации не обязательно является хорошей идеей, так как браузер, с которым вы проверяете это, скорее всего, запомнит это.) – Bruno