Nginx Web Server configuration with Examples
Оглавление:
В этом руководстве мы объясним, как перенаправить HTTP-трафик на HTTPS в Nginx.
Nginx произносится «engine x» - это бесплатный высокопроизводительный HTTP и обратный прокси-сервер с открытым исходным кодом, отвечающий за загрузку некоторых из крупнейших сайтов в Интернете.
В отличие от HTTP, где запросы и ответы отправляются и возвращаются в виде открытого текста, HTTPS использует TLS / SSL для шифрования связи между клиентом и сервером.
Есть много преимуществ использования HTTPS по HTTP, таких как:
- Все данные зашифрованы в обоих направлениях. В результате конфиденциальная информация не может быть прочитана при перехвате. Google Chrome и все другие популярные браузеры будут помечать ваш сайт как безопасный. HTTPS позволяет использовать протокол HTTP / 2, что значительно повышает производительность сайта. Google поддерживает сайты HTTPS. Ваш сайт будет иметь более высокий рейтинг, если будет обслуживаться по
Предпочтительным способом перенаправления HTTP на HTTPS в Nginx является настройка отдельного блока сервера для каждой версии сайта. Следует избегать перенаправления трафика с использованием директивы if, так как это может привести к непредсказуемому поведению сервера.
Перенаправить HTTP на HTTPS для каждого сайта
Чтобы перенаправить один сайт на HTTPS, откройте файл конфигурации домена и внесите следующие изменения:
server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }
Давайте разберем код построчно:
-
listen 80- Блок сервера будет прослушивать входящие соединения через порт 80 для указанного домена.server_name linuxize.com www.linuxize.com- указывает доменные имена блока сервера. Убедитесь, что вы заменили его своим доменным именем.return 301- Перенаправить трафик на HTTPS-версию сайта. Переменная$request_uri- это полный исходный URI запроса, включая аргументы.
Как правило, вы также захотите перенаправить HTTPS-версию сайта www на сайт без www или наоборот. Рекомендуемый способ сделать перенаправление - создать отдельный блок сервера для версий www и non-www.
Например, чтобы перенаправить запросы HTTPS www не на www, вы должны использовать следующую конфигурацию:
server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }
Перенаправить все сайты на HTTPS
Если все веб-сайты, размещенные на сервере, настроены на использование HTTPS, и вы не хотите создавать отдельный блок HTTP-сервера для каждого сайта, вы можете создать один универсальный блок HTTP-сервера. Этот блок перенаправит все HTTP-запросы в соответствующие блоки
Чтобы создать один универсальный HTTP-блок, который будет перенаправлять посетителей на HTTPS-версию сайта, откройте файл конфигурации Nginx и внесите следующие изменения:
server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }
Давайте проанализируем код построчно:
-
listen 80 default_server- устанавливает этот блок сервера в качестве блока по умолчанию (перехватывать все) для всех несопоставленных доменов.server_name _-_является недопустимым доменным именем, которое никогда не соответствует реальному доменному имени.return 301- Перенаправить трафик на соответствующий блок HTTPS-сервера с кодом состояния 301 (постоянно перемещено). Переменная$hostсодержит доменное имя запроса.
Например, если посетитель открывает
http://example.com/page2
в браузере, Nginx перенаправит запрос на
https://example.com/page2
.
Если возможно, предпочтите создание перенаправления для каждого домена вместо глобального перенаправления HTTP на
Вывод
После того, как на вашем сайте установлен SSL-сертификат, вы должны перенаправить HTTP-трафик на
В Nginx предпочтительным способом перенаправления HTTP на HTTPS является создание отдельных блоков сервера и выполнение перенаправления 301.
NginxРазница между протоколом HTTP и HTTPS
Эволюция HTTP, работа HTTPS и различие между HTTP и HTTPS в простых выражениях. Протокол HTTP Vs HTTPS или Hypertext Transfer Protocol через Secure Socket Layer обсуждается.
Как перенаправить электронную почту или отключить несанкционированную пересылку в Outlook.com
Узнайте, как переслать электронное письмо в Outlook.com. Вы также можете отключить несанкционированную пересылку, проверив правила «Входящие» и «развертки».
Как перенаправить специальные папки в рабочие папки в Windows?
Вы можете захотеть, чтобы специальные папки, такие как документы, служили рабочими папками в Windows. Узнайте, как перенаправить специальные папки в рабочие папки с помощью объекта групповой политики.







