похоже, что я не могу получить еще один SSL-сертификат на моем компьютере.
Я работаю на Apache 2.2, и мы получили домен с SSLCertificate, подписанный GlobalSign. Теперь я хотел добавить еще один сертификат (letEncrypt) для другого домена на той же машине. (SNI)
Для этого я следил за инструкциями на веб-сайте и создал сертификат с помощью certbot certonly -manual на другом компьютере и разместил их на своем веб-сервере.
Там я изменил ports.conf из apache и добавил NameVirtualHost *:433
и изменил VirtualHost-Statement сайтов / available / default-ssl с _default_:433
к *:433
.
Затем я добавил SSL-vHost в файл конфигурации нового домена.
<IfModule mod_ssl.c>
<VirtualHost *:433>
ServerAdmin webmaster@domain.org
DocumentRoot /var/www/newdomain/html
ServerName domain.org
ServerAlias www.domain.org
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/chain.pem
#Setting goes here
</VirtualHost>
</IfModule>
Когда я бегу apache2ctl configtest
я все еще получаю
[Fri Mar 31 15:55:37 2017] [warn] _default_ VirtualHost overlap on port 433, the first has precedence
Зачем? Когда я пытаюсь посетить новый домен через https, они показывают мне, что браузер по-прежнему получает старый GlobalSign-Cert, который предназначен для совершенно другого домена и поэтому не принимается:
domain.org uses an invalid security certificate.
The certificate is only valid for the following names: signeddomainsiown.org
Error code: SSL_ERROR_BAD_CERT_DOMAIN
Я понимаю, что где-то должна быть запись, которая «идет первой», и сервер отправляет неправильный сертификат, или цепочка неправильная, но как я могу это исправить? Я уже искал другого дефолт записи в моей конфигурации, но ничего не нашел.
Вы не можете использовать два отдельных сертификата SSL в одном экземпляре apache. Причина в том, что конфигурации NameVirtualHost просматриваются после установления соединения с веб-сервером, в данном случае через SSL на порт 443. Для этого он выбирает первый настроенный сертификат, поскольку у него не будет информации о хосте до установки соединения.
В вашем случае вы должны использовать один сертификат SSL для обоих доменов, но получить сертификат, который можно использовать для нескольких доменных имен. Его обычно называют сертификатом SAN (Subject Alternate Name), в котором мы можем добавить несколько доменов (обычно до 10).