У нас возникают проблемы с этой, казалось бы, простой конфигурацией на Apache 2.4. Кажется, мы не можем получить правильный сертификат при использовании виртуального хоста site2.net. Мы всегда получаем сертификат site1.net. Вот наш апакектл -S
:
Конфигурация виртуального хоста:
*:446 — это NameVirtualHost
сервер по умолчанию site1.net (/opt/rh/httpd24/root/etc/httpd/sites-enable/site1.conf:3)
порт 446 namevhost site1.net (/opt/rh/httpd24/root/etc/httpd/sites-enable/site1.conf:3)
порт 446 namevhost site2.net (/opt/rh/httpd24/root/etc/httpd/sites-enable/site2.conf:3)
*:444 other.net (/opt/rh/httpd24/root/etc/httpd/sites-enable/other.conf:2)
Вот конфигурации VH:
$ cat /opt/rh/httpd24/root/etc/httpd/sites-enable/site1.conf
<Виртуальный хост *:446>
имя сервера site1.net
Корень документа /www/site1
<Каталог /www/site1>
Разрешить переопределить все
Требовать все предоставленные
</Каталог>
SSLEngine включен
SSLCertificateKeyFile /opt/rh/httpd24/root/etc/httpd/conf/certs/site1.key
SSLCertificateFile /opt/rh/httpd24/root/etc/httpd/conf/certs/site1.pem
</ виртуальный хост>
$ cat /opt/rh/httpd24/root/etc/httpd/sites-enable/site2.conf
<Виртуальный хост *:446>
имя сервера site2.net
DocumentRoot "/www/site1/xyz"
<Каталог "/www/site1/xyz">
Разрешить переопределить все
Требовать все предоставленные
Параметры - Индексы
</Каталог>
SSLCertificateKeyFile /opt/rh/httpd24/root/etc/httpd/conf/certs/site2.key
SSLCertificateFile /opt/rh/httpd24/root/etc/httpd/conf/certs/site2.pem
</ виртуальный хост>
Файл конфигурации /opt/rh/httpd24/root/etc/httpd/conf.d/ssl.conf
VirtualHost не определен.
Если мы поменяем сертификаты местами и первый виртуальный хост загрузит второй сертификат, мы увидим его правильно (т.е. нет проблем с самим сертификатом).
Мы тестируем с openssl s_client -connect myip:446 -servername site2.net
Почему мы получаем это странное поведение? Большое спасибо!