Как запретить SSL-соединения для некоторых виртуальных хостов в apache
Я использую виртуальные хосты на основе имен на портах 80 и 443. Некоторые виртуальные хосты поддерживают только порт 80. У меня нет и не будет получать сертификаты для этих имен хостов.
Как я могу настроить apache для отказа в соединении через порт 443 с одним из имен хостов?
Например:
supportsboth.example.com
имеет сертификат, может прослушивать порт 80 и порт 443
httponly.example.org
не имеет сертификата, должен быть доступен только через обычный HTTP.
В конфигурации apache есть запись настройки виртуального хоста для supportsboth.example.com
только на порт 443.
Попытка подключиться к httponly.example.com
на порту 443 Apache использует supportsboth.example.com
сертификат и детали виртуального хоста.
Это заставляет браузер сообщать о множестве ошибок сертификатов, поскольку имена хостов не совпадают, и если пользователь все равно решает продолжить, он все равно оказывается на неправильном сайте.
В идеале мне бы хотелось перенаправить на сайт HTTP, но я полагаю, что это будет зависеть от наличия действующего сертификата. Мое второе предпочтение - просто отказаться от подключения.
Приведенный ниже ответ Михаэля о размещении имен с поддержкой SSL на отдельном IP-адресе мне недоступен, поскольку оба домена уже настроены на использование одного и того же IP-адреса, и я не могу их изменить.
1 ответ
Используйте другой IP-адрес для хостов, которые никогда не должны отвечать по SSL, и убедитесь, что Apache прослушивает только порт 443 для соответствующих IP-адресов.