Правильная настройка многодоменного SSL-сертификата в качестве VirtualHosts на нескольких IP-адресах.

В настоящее время у меня определены следующие VirtualHosts.

NameVirtualHost *:80
Listen *:80

<IfModule mod_ssl.c>
Listen *:443
</IfModule>

<VirtualHost *:80>
--various directives for www--
</VirtualHost>

<VirtualHost *:443>
--same directives as *:80--
SSLEngine on
SSLCertificateFile /path/to/public.crt
SSLCertificateKeyFile /path/to/private.key
SSLCACertificateFile /path/to/intermediate.crt
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4 
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
</VirtualHost>

<VirtualHost 192.168.1.102:80>
--various directives for another subdomain--
</VirtualHost>

<VirtualHost 192.168.1.103:80>
--various directives for another subdomain--
</VirtualHost>

<VirtualHost 192.168.1.104:80>
--various directives for another subdomain--
</VirtualHost>

<VirtualHost 192.168.1.105:80>
--various directives for another subdomain--
</VirtualHost>

<VirtualHost 192.168.1.106:443>
--various directives for another subdomain--
SSLEngine on
SSLCertificateFile /path/self/signed/certificate.pem
--same ciphers and other settings as *:443--
</VirtualHost>

<VirtualHost 192.168.1.107:80>
--various directives for another subdomain--
</VirtualHost>

<VirtualHost 192.168.1.109:80>
--various directives for another subdomain--
</VirtualHost>

Прямо сейчас все работает, как ожидалось. Основной домен www *: 80 и его защищенное соединение на *: 443 работает с рейтингом B на SSLLabs.com

. Он выдает следующие ошибки:

  1. Этот сервер поддерживает слабый Diffie. -Hellman (DH) обмен ключами параметров. Оценка ограничена до B.
  2. Сервер не поддерживает прямую секретность с эталонными браузерами.

Я поместил пользовательские параметры DH после моего открытого ключа, но параметры DH по-прежнему выдают ошибку. Я не уверен, как исправить ошибку Forward Secrecy.

После этого я попытался добавить новый VirtualHost, чтобы я мог переместить свои различные субдомены, которые теперь покрыты нашим новым сертификатом, в SSL.

Я добавил новый VirtualHost:

<VirtualHost 192.168.1.109:443>
--Copied all directives from 192.168.1.109:80--
--Copied all SSL settings from *:443--
</VirtualHost>

Конфигурация, кажется, проверяется при запуске configtest. Apache не выдает мне сообщений об ошибках, которые кажутся актуальными при перезапуске службы (всегда выдаются некоторые ошибки DNS, но это нормально, так как IP-адреса, определенные в VirtualHosts, являются IP-адресами DMZd, а не публичными IP-адресами). Однако ни один из моих сайтов не отвечает, и apache2 показывает, что он остановлен. Когда я удаляю новый VirtualHost, сервер возвращается обратно без проблем.

Что я делаю не так с моей конфигурацией? Кто-нибудь может указать мне правильное направление?

1
задан 6 October 2015 в 04:43

1 ответ

Проблемой были, по-видимому, ошибки ServerName все время. Они в порядке, пока существует только 1 хост на IP, но добавления второго IP, даже при том, что это находится на новом порте и поэтому сделало, чтобы новый VirtualHost назвал, не было достаточно, чтобы помешать Apache аварийно завершаться.

я добавил ServerName к каждому VirtualHost даже при том, что нам не были нужны они в прошлом и теперь новые установки VirtualHost без проблемы.

0
ответ дан 6 October 2015 в 14:43

Другие вопросы по тегам:

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