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

Как предотвратить 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-адреса, и я не могу их изменить.

Используйте другой IP-адрес для хостов, которые никогда не должны отвечать по SSL, и убедитесь, что Apache прослушивает порт 443 только для соответствующих IP-адресов.