Избегайте просмотра веб-сайтов на основе общедоступного IP-адреса в Apache 2.4

У вас должна быть версия Nginx, скомпилированная с версией OpenSSL, включающей протокол ALPN. (NPN по-прежнему будет работать в Firefox ). Вы можете проверить версию OpenSSL, скомпилированную с вашим nginx, с помощью команды nginx -V. Вам понадобится OpenSSL 1.0.2d, по крайней мере, для совместимости с HTTP/2.

Если у вас хорошая версия OpenSSL, вы также можете проверить наличие флага --with-http_v2_moduleв результате nginx -V.

Если вы не соблюдаете эти требования, вам придется перекомпилировать nginx самостоятельно или использовать готовый двоичный файл для совместимости с HTTP/2.

О порте 443 :Большинство браузеров (и сама реализация nginx )на самом деле не поддерживают порт 80 для HTTP/2.

1
10.10.2019, 11:05
2 ответа

Вам необходимо определить виртуальный хост по умолчанию в конфигурации Apache. После этого определите виртуальный хост с ServerName DNS-именем, на котором вы хотите найти свой веб-сайт.

Теперь запросы с таким именем в заголовке хоста будут обрабатываться этим виртуальным хостом, а любые другие запросы (с неправильным именем хоста или без него )будут обрабатываться виртуальным хостом по умолчанию (, который, вероятно, должен быть просто страница с сообщением о том, что был использован неправильный хост, или что-то подобное ).

Если используется SSL (https ), то запросы к IP-адресу все равно получат ошибку SSL, так как имя хоста (IP-адрес в этом случае )не соответствует имени хоста в SSL сертификат.

1
27.01.2020, 23:30

Использование Ubuntu 18.04, Apache 2.4.29.

Я думаю, что в apache2 есть vHost по умолчанию, то есть 000-default.conf. Если ваш сайт доступен по IP, возможно, вы отключили эту конфигурацию по умолчанию.

Работа -около:

Отредактируйте 000-default.confи поместите туда редирект.

nano /etc/apache2/sites-available/000-default.conf

В000-default.conf

<VirtualHost *:80> Redirect / https://www.contoso.com/ </VirtualHost> <VirtualHost *:443> Redirect / https://www.contoso.com/ </VirtualHost>

При необходимости включите конфигурацию.

a2ensite 000-default.conf

Перезагрузите Apache2.

systemctl reload apache2.service

Надеюсь, это поможет.

1
27.01.2020, 23:30

Теги

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