В тази статия ще работим как да пренасочим уеб трафика от HTTP към защитен HTTPS в Nginx.
Отговорите и заявките се връщат под формата на свободен текст в HTTP, докато HTTPS използва SSL / TLS за криптиране на комуникацията между клиент и сървърна система. Следователно, поради много причини, HTTPS се използва през HTTP, които са изброени по-долу:
- Всички данни между клиент-сървъра и в двете посоки са криптирани. Никой обаче няма достъп до чувствителна информация, ако бъде прихванат.
- Когато използвате HTTPS, Google Chrome и други браузъри ще считат домейна на вашия уебсайт за безопасен.
- Версията HTTPS подобрява посочената от вас производителност на уебсайта, използвайки протокола HTTP / 2.
- Ако обслужвате домейна на уебсайта си чрез HTTPS, тогава уебсайтът ще се класира по-добре в Google, тъй като благоприятства всички защитени HTTPS уебсайтове.
За предпочитане е трафикът 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 или за определен домейн, или да пренасочите всички. Този метод, който споменахме в тази статия, може да ви помогне да направите уебсайта си по-сигурен, като направите каквито и да е промени в потребителския опит.