Apache SNI: Можно ли смешивать незащищенные хосты с безопасными хостами на одном интерфейсе?

На общем сервере у нас есть некоторые сайты, которые работают только на порте 80. Однако есть другие сайты, которые работают как на порте 80, так и на 443.

Например:

<VirtualHost *:80>
  ServerName unsecure.com
</VirtualHost>

<VirtualHost *:80>
  ServerName secure.com
  RedirectPermanent / https://secure.com
</VirtualHost>

<VirtualHost *:443>
  ServerName secure.com
</VirtualHost>

Запросы к https://unsecure.com будет представлен сертификат для secure.com. Есть ли способ избежать этого, кроме разделения интерфейсов (например, foo: 80 и bar: 443, что невозможно в этой ситуации). Многие из этих сайтов на порту 80 являются устаревшими, и настроить их на использование SSL не так просто, как мы надеялись.

0
задан 6 February 2019 в 17:14
1 ответ

Вам не нужны отдельные сетевые интерфейсы, а только отдельные IP-адреса. Сайты, работающие по протоколу https, получают один IP-адрес, в то время как сайты, работающие по протоколу http, получают только другой IP-адрес. Когда сайт переходит на https, записи его DNS адреса также попадают на другой IP адрес.

В Apache вы измените директивы Listen на соответствие этим IP адресам. Например:

Listen 198.51.100.37 80
Listen 203.0.113.252 80
Listen 203.0.113.252 443

Это единственный способ сделать это надежно.

.
1
ответ дан 4 December 2019 в 15:46

Теги

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