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 версия:

сървър
слушайте 80 default_server;
Име на сървъра _;
връщане 301 https: // $ host $ request_uri;

По-долу сме разработили всеки по-горе споменат термин:

Listen 80 default_server - това ще сигнализира на вашата система, която улавя целия HTTP трафик на порт 80.
Име на сървър _ - това е домейнът, който ще съвпада с всяко име на хост.

Върнете 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 и след това извършете следните промени в този файл:

сървър
слушайте 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 версии.

Нека обясним с пример. Ако искате да пренасочите www HTTPS заявките към не-www версия, следвайте следната конфигурация:

сървър
слушайте 80;
име на сървър име на домейн.com www.име на домейн.com;
върнете 301 https: // име на домейн.com $ request_uri;

сървър
слушайте 443 ssl http2;
име на сървър www.име на домейн.com;
# ... друг код
върнете 301 https: // име на домейн.com $ request_uri;

сървър
слушайте 443 ssl http2;
име на сървър име на домейн.com;
# ... друг код

Заменете името на домейна с вашия домейн, като www.linuxhint.com.

Заключение

Обсъдихме как да пренасочим трафика от HTTP версия към HTTPS на сървъра Nginx. Чрез промяна на настройката на конфигурационния файл на Nginx можете лесно да пренасочите трафика към HTTPS или за определен домейн, или да пренасочите всички. Този метод, който споменахме в тази статия, може да ви помогне да направите уебсайта си по-сигурен, като направите каквито и да е промени в потребителския опит.

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...