Nginx suunab HTTP HTTPS -i

Nginx Redirect Http Https



Nginx, mida nimetatakse mootoriks x, on tasuta avatud lähtekoodiga Linuxil põhinev suure jõudlusega veeb ja vastupidine puhverserver, mis vastutab suurima veebisaitide liikluse koormuse haldamise ja haldamise eest Internetis. Nginx on võimas ümbersuunamise tööriist, mida saab teie süsteemis hõlpsasti konfigureerida, et suunata vähem turvaline või krüptimata HTTP -veebiliiklus krüptitud ja turvatud HTTPS -veebiserverisse. Kui olete süsteemiadministraator või arendaja, kasutate regulaarselt Nginxi serverit.

Selles artiklis töötame selle üle, kuidas suunata veebiliiklus HTTP -lt turvalisele HTTPS -ile Nginxis.





Vastused ja päringud tagastatakse HTTP -vormingus lihttekstina, samas kui HTTPS kasutab SSL/TLS -i kliendi ja serveri vahelise suhtluse krüptimiseks. Seetõttu kasutatakse HTTPS -i mitmel põhjusel HTTP kaudu, mis on loetletud allpool:



  • Kõik andmed kliendi-serveri vahel mõlemas suunas on krüptitud. Siiski ei pääse keegi vahele jäänud isikuandmetele juurde.
  • Kui kasutate HTTPS -i, peavad Google Chrome ja teised brauserid teie veebisaidi domeeni turvaliseks.
  • HTTPS -versioon parandab teie määratud veebisaidi jõudlust, kasutades HTTP/2 protokolli.
  • Kui teenindate oma veebisaidi domeeni HTTPS -i kaudu, on veebisait Google'is parem, kuna see eelistab kõiki HTTPS -iga turvatud veebisaite.

Eelistatakse liikluse HTTP ümbersuunamine HTTPS -ile Nginxis iga saidiversiooni jaoks eraldi serveriplokis. Samuti on soovitatav vältida liikluse ümbersuunamist, kasutades suunda, mis võib põhjustada serveri ebatavalist käitumist.



Suunake kogu liiklus HTTP -lt HTTPS -i

Lisage Nginxi konfiguratsioonifaili järgmised muudatused, et suunata kogu liiklus HTTP -lt HTTPS -i versioonile:





server {
kuula 80default_server;
serveri_nimi _;
tagasi 301https: //$ host$ request_uri;
}

Allpool oleme välja töötanud iga eespool nimetatud termini:

Kuula 80 default_server - see annab märku teie süsteemist, mis püüab kinni kogu pordi 80 HTTP -liikluse.
Serveri_nimi _ - see on domeen, mis sobib iga hosti nimega.



Tagastage 301 https: // $ host $ request_uri - see ütleb teie otsingumootoritele, et suunavad selle jäädavalt ümber. See määrab, et muutuja $ host omab domeeninimesid.

Kui olete konfiguratsiooniseadeid muutnud, peate oma süsteemi Nginxi teenused uuesti laadima. Niisiis, laadige oma Nginxi teenused uuesti, kasutades järgmist käsku:

$sudosystemctl laadige uuesti nginx

Suunake HTTP ümber Nginxi määratud domeeni HTTPS -i versioonile

Pärast SSL -sertifikaadi installimist oma domeenile on teil selle domeeni jaoks kaks serveri blokeerimise võimalust. Üks plokk on mõeldud HTTP -versiooni kuulamiseks pordil 80 ja teine ​​versioon on HTTPS pordil 443. Kuid ühe veebisaidi domeeni ümbersuunamiseks HTTP -lt HTTPS -ile peate avama Nginxi konfiguratsiooni. Selle konfiguratsioonifaili leiate kataloogist/etc/nginx/sites-available. Igal juhul, kui te seda faili ei leidnud, saate seda otsida failidest /etc/nginx/nginx.conf,/usr/local/nginx/conf või/usr/local/etc/nginx ja seejärel selles failis järgmised muudatused:

server {
kuula 80;
serveri_nimi domeeninimi.com www.domeeninimi.com;
tagasi 301https://domain-name.com$ request_uri;
}

Mõistame ülaltoodud koodi rida -realt.
Kuula 80 - porti 80 kasutades kuulab server kõiki sissetulevaid ühendusi määratud domeeni.

Serveri_nimi domeeninimi.com www.domeeninimi.com-see määrab domeeninimed. Niisiis, asendage see oma veebisaidi domeeninimega, mille soovite ümber suunata.

Tagastage 301 https: //domain-name.com$request_uri-see teisaldab liikluse saidi HTTPS-versiooni. Muutujat $ request_uri kasutatakse kogu algse päringu URI jaoks, kuhu on lisatud ka argumendid.

Järgmise meetodi abil saate suunata liikluse HTTPS www-versiooni saidi mitte-www-versioonile. Soovitatav on luua ümbersuunamine eraldi serveriplokis nii mitte- kui ka www-versioonide jaoks.

Selgitame näitega. Kui soovite suunata www HTTPS-päringud mitte-www-versioonile, järgige järgmist konfiguratsiooni:

server {
kuula 80;
serveri_nimi domeeninimi.com www.domeeninimi.com;
tagasi 301https://domain-name.com$ request_uri;
}
server {
kuula 443 ssl http2;
serveri_nimi www.domeeninimi.com;
#. . . muu kood
tagasi 301https://domain-name.com$ request_uri;
}
server {
kuula 443 ssl http2;
serveri_nimi domeeninimi.com;

#. . . muu kood
}

Asendage domeeninimi oma domeeniga, näiteks www.linuxhint.com.

Järeldus

Oleme arutanud, kuidas suunata liiklust HTTP -versioonist Nginxi serveri HTTPS -i. Muutes Nginxi konfiguratsioonifaili sätteid, saate hõlpsalt suunata liikluse HTTPS -ile kas määratud domeeni jaoks või suunata kõik ümber. See meetod, mida oleme selles artiklis maininud, võib aidata teil oma veebisaiti turvalisemaks muuta, muutes kasutajakogemust.