U ovom ćemo članku raditi na tome kako preusmjeriti web promet s HTTP-a na siguran HTTPS u Nginxu.
Odgovori i zahtjevi vraćaju se u obliku otvorenog teksta u HTTP-u, dok HTTPS koristi SSL / TLS za šifriranje komunikacije između klijenta i poslužiteljskog sustava. Stoga se zbog mnogih razloga HTTPS koristi preko HTTP-a, koji su navedeni u nastavku:
- Svi podaci između klijenta-poslužitelja u oba smjera su šifrirani. Međutim, nitko ne može pristupiti osjetljivim informacijama ako ih se presretne.
- Kada upotrebljavate HTTPS, Google Chrome i drugi preglednici domenu vašeg web mjesta smatrat će sigurnom.
- Verzija HTTPS-a poboljšava navedenu izvedbu web-mjesta pomoću HTTP / 2 protokola.
- Ako domenu svoje web stranice poslužujete putem HTTPS-a, tada će se web lokacija bolje rangirati na Googleu, jer favorizira sve HTTPS zaštićene web stranice.
Poželjno je promet HTTP preusmjeriti na HTTPS u Nginxu u zasebnom bloku poslužitelja za svaku verziju web mjesta. Također se preporučuje izbjegavanje preusmjeravanja prometa u smjeru "ako" što može uzrokovati neobično ponašanje poslužitelja.
Preusmjerite sav promet s HTTP-a na HTTPS
U konfiguracijsku datoteku Nginx dodajte sljedeće promjene kako biste sav promet preusmjerio s HTTP-a na HTTPS verziju:
poslužiteljpreslušajte 80 default_server;
ime_poslužitelja _;
return 301 https: // $ host $ request_uri;
U nastavku smo razradili svaki gore spomenuti pojam:
Listen 80 default_server - ovo će signalizirati vašem sustavu koji hvata sav HTTP promet na portu 80.
Ime_poslužitelja _ - to je domena koja će se podudarati s bilo kojim imenom hosta.
Vrati 301 https: // $ host $ request_uri - ovo govori vašim tražilicama da ga trajno preusmjere. Određuje da varijabla $ host sadrži imena domena.
Nakon što promijenite postavke konfiguracije, morate ponovno učitati Nginx usluge na vašem sustavu. Dakle, ponovo učitajte svoje Nginx usluge pomoću sljedeće naredbe:
$ sudo systemctl ponovno učitajte nginxPreusmjerite HTTP na HTTPS verziju za navedenu domenu u Nginxu
Nakon instaliranja SSL certifikata na vašu domenu, imat ćete dvije opcije blokova poslužitelja za tu domenu. Jedan blok je za HTTP verziju koja sluša na priključku 80, a druga verzija je HTTPS na priključku 443. Međutim, da biste preusmjerili jednu domenu web mjesta s HTTP-a na HTTPS, morate otvoriti Nginx konfiguraciju. Ovu konfiguracijsku datoteku možete pronaći u direktoriju / etc / nginx / sites-available. U svakom slučaju, ako niste pronašli ovu datoteku, možete je potražiti pomoću / etc / nginx / nginx.conf, / usr / local / nginx / conf ili / usr / local / etc / nginx, a zatim izvršite sljedeće promjene u ovoj datoteci:
poslužiteljslušati 80;
ime_poslužitelja ime-domene.com www.naziv domene.com;
vrati 301 https: // ime-domene.com $ request_uri;
Razumijemo gornji kod redak po redak.
Slušaj 80 - pomoću porta 80 poslužitelj će preslušati sve dolazne veze navedene domene.
Ime_poslužitelja ime-domene.com www.naziv domene.com - navodi imena domena. Dakle, zamijenite ga imenom domene vašeg web mjesta koje želite preusmjeriti.
Vrati 301 https: // ime-domene.com $ request_uri - premješta promet na HTTPS verziju web mjesta. Varijabla $ request_uri koristi se za puni izvorni URI zahtjeva u koji su također uključeni argumenti.
Koristeći sljedeću metodu, možete preusmjeriti promet na HTTPS www verziju na inačicu web stranice koja nije www. Preporučuje se stvaranje preusmjeravanja u zasebnom bloku poslužitelja za verzije koje nisu www i www.
Objasnimo na primjeru. Ako želite preusmjeriti www HTTPS zahtjeve na inačicu koja nije www, slijedite sljedeću konfiguraciju:
poslužiteljslušati 80;
ime_poslužitelja ime-domene.com www.naziv domene.com;
vrati 301 https: // ime-domene.com $ request_uri;
poslužitelj
slušajte 443 ssl http2;
ime_poslužitelja www.naziv domene.com;
# ... drugi kod
vrati 301 https: // ime-domene.com $ request_uri;
poslužitelj
slušajte 443 ssl http2;
ime_poslužitelja ime-domene.com;
# ... drugi kod
Zamijenite ime domene svojom domenom, poput www.linuxhint.com.
Zaključak
Raspravljali smo o tome kako preusmjeriti promet s HTTP verzije na HTTPS na Nginx poslužitelju. Promjenom postavke konfiguracijske datoteke Nginx možete jednostavno preusmjeriti promet na HTTPS bilo za određenu domenu ili preusmjeriti sve. Ova metoda, koju smo spomenuli u ovom članku, može vam pomoći da svoju web stranicu učinite sigurnijom unošenjem bilo kakvih promjena u korisničko iskustvo.