Nginx

Nginx перенаправляет HTTP на HTTPS

Nginx перенаправляет HTTP на HTTPS
Nginx, произносится как «Engine x», - это бесплатный высокопроизводительный веб-сайт на базе Linux с открытым исходным кодом и обратный прокси-сервер, который отвечает за управление и обработку нагрузки наибольшего трафика веб-сайтов в Интернете. Nginx - это мощный инструмент перенаправления, который можно легко настроить в вашей системе для перенаправления менее безопасного или незашифрованного веб-трафика HTTP на зашифрованный и защищенный веб-сервер HTTPS. Если вы системный администратор или разработчик, то вы регулярно используете сервер Nginx.

В этой статье мы будем работать над тем, как перенаправить веб-трафик с HTTP на безопасный HTTPS в Nginx.

Ответы и запросы возвращаются в виде открытого текста в HTTP, тогда как HTTPS использует SSL / TLS для шифрования связи между клиентской и серверной системой. Поэтому по многим причинам HTTPS используется поверх HTTP, которые перечислены ниже:

Перенаправлять трафик HTTP на HTTPS в Nginx желательно в отдельном серверном блоке для каждой версии сайта. Также рекомендуется избегать перенаправления трафика с использованием направления «если», что может вызвать необычное поведение сервера.

Перенаправить весь трафик с HTTP на HTTPS

Добавьте следующие изменения в файл конфигурации Nginx, чтобы перенаправить весь трафик с версии HTTP на версию HTTPS:

server
слушаем 80 default_server;
имя сервера _;
return 301 https: // $ host $ request_uri;

Ниже мы подробно остановились на каждом из вышеупомянутых терминов:

Listen 80 default_server - это сигнализирует вашей системе, что весь HTTP-трафик перехватывается через порт 80.
Server_name _ - это домен, который будет соответствовать любому имени хоста.

Вернуть 301 https: // $ host $ request_uri - это сообщает вашим поисковым системам, что перенаправляют его навсегда. Он указывает, что переменная $ host содержит имена доменов.

После изменения параметров конфигурации вам необходимо перезагрузить службы Nginx в вашей системе. Итак, перезагрузите службы Nginx, используя следующую команду:

$ sudo systemctl перезагрузить nginx

Перенаправить HTTP на версию HTTPS для указанного домена в Nginx

После установки SSL-сертификата в вашем домене у вас будет два варианта серверных блоков для этого домена. Один блок предназначен для версии HTTP, прослушивающей порт 80, а вторая версия - HTTPS на порту 443. Однако для перенаправления одного домена веб-сайта с HTTP на HTTPS необходимо открыть конфигурацию Nginx. Вы можете найти этот файл конфигурации в каталоге / etc / nginx / sites-available. В любом случае, если вы не нашли этот файл, вы можете найти его с помощью / etc / nginx / nginx.conf, / usr / local / nginx / conf или / usr / local / etc / nginx, а затем внесите в этот файл следующие изменения:

server
слушать 80;
имя_сервера имя-домена.com www.доменное имя.com;
вернуть 301 https: // имя-домена.com $ request_uri;

Давайте разберемся в приведенном выше коде построчно.
Listen 80 - используя порт 80, сервер будет прослушивать все входящие соединения указанного домена.

Имя_сервера имя-домена.com www.доменное имя.com - указывает доменные имена. Итак, замените его на доменное имя вашего веб-сайта, которое вы хотите перенаправить.

Вернуть 301 https: // имя-домена.com $ request_uri - перемещает трафик на HTTPS-версию сайта. Переменная $ request_uri используется для полного исходного URI запроса, в который также включены аргументы.

Используя следующий метод, вы можете перенаправить трафик с HTTPS-версии www на версию сайта без www. Рекомендуется создать редирект в отдельном серверном блоке как для версий без www, так и для версий с www.

Поясним на примере. Если вы хотите перенаправить запросы HTTPS с www на версию без www, вы должны выполнить следующую конфигурацию:

server
слушать 80;
имя_сервера имя-домена.com www.доменное имя.com;
вернуть 301 https: // имя-домена.com $ request_uri;

server
прослушать 443 ssl http2;
имя_сервера www.доменное имя.com;
#… Другой код
вернуть 301 https: // имя-домена.com $ request_uri;

server
прослушать 443 ssl http2;
имя_сервера имя-домена.com;
#… Другой код

Замените доменное имя своим доменом, например www.linuxhint.ком.

Заключение

Мы обсудили, как перенаправить трафик с HTTP-версии на HTTPS на сервере Nginx. Изменив параметр файла конфигурации Nginx, вы можете легко перенаправить трафик на HTTPS либо для указанного домена, либо перенаправить все. Этот метод, о котором мы упоминали в этой статье, может помочь вам сделать ваш сайт более безопасным, внеся какие-либо изменения в пользовательский интерфейс.

Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...