Назад | Перейти на главную страницу

Конфигурация нескольких хостов SSL в Apache2 (с разными ключами)

Что ж, эту проблему относительно сложно описать. Я установил Webmin + Virtualmin на сервере. У меня есть несколько IP-адресов на сервере (два сетевых адаптера связаны).

Предположим, что сеть 1.1.1.1/29.

Виртуальные серверы теперь выглядят так:

masterdomain.com:

seconddomain.com:

Видите ли, нет никаких проблем с использованием HTTPS на masterdomain.com (кроме жалоб на то, что сертификат не подписан ЦС). TLSv1 сообщает серверу Hello, обменивается ключом, и все готово.

Проблема связана с https://1.1.1.4/ или https://seconddomain.com/. Firefox говорит ssl_error_rx_record_too_long.

Я использовал Wireshark для проверки пакетов и обнаружил, что (seconddomain.com или 1.1.1.4) никогда не отправляет ключ или 'Hello', но index.php DocumentRoot второго домена.com в ответе TLSv1. Wireshark классифицирует его как Alert (Level: Fatal, Description: Unexpected Message). Первые 66 байтов соответствуют ожидаемому заголовку, а затем Apache вставляет обработанный index.php -> "<html><head><title>Main page of seconddomain.com!![...]" вместо ключа SSL. Это в пакете, в который предполагается поместить «Server Hello» (после правильного «Client Hello» от клиента).

Я не знаю, как решить проблему, которая, скорее всего, связана с конфигурацией VirtualHost. Но VirtualHost на seconddomain.com имеет ту же конфигурацию, что и masterdomain.com! - кроме прослушивания только одного IP вместо * (и, конечно, ключ SSL, поля SuexecGroup и DocumentRoot разные).

Заранее спасибо.

Я нашел ошибку. Видите ли, Virtualmin сгенерировал это в apache2.conf:

NameVirtualHost 1.1.1.2:80
NameVirtualHost 1.1.1.2:443
NameVirtualHost 1.1.1.4

Поэтому не различать порты https и http в 1.1.1.4. Заменил на:

NameVirtualHost 1.1.1.2:80
NameVirtualHost 1.1.1.2:443
NameVirtualHost 1.1.1.4:80
NameVirtualHost 1.1.1.4:443

Решить проблему.