Ebben a cikkben azon fogunk dolgozni, hogy miként lehet a webes forgalmat átirányítani a HTTP-ről egy biztonságos HTTPS-re az Nginx-ben.
A válaszokat és kéréseket egyszerű szöveg formájában adják vissza a HTTP-ben, míg a HTTPS SSL / TLS-t használ az ügyfél és a kiszolgáló rendszer közötti kommunikáció titkosításához. Ezért sok ok miatt a HTTPS-t az alább felsorolt HTTP-n keresztül használják:
- A kliens-szerver között mindkét irányban minden adat titkosítva van. Senki sem férhet hozzá bizalmas információkhoz, ha elfogják őket.
- Amikor HTTPS-t használ, a Google Chrome és más böngészők biztonságosnak tekintik webhelye domainjét.
- A HTTPS verzió javítja a megadott webhely teljesítményét a HTTP / 2 protokoll használatával.
- Ha webhelye domainjét HTTPS-en keresztül szolgálja ki, akkor a webhely jobban fog rangsorolni a Google-on, mivel az az összes HTTPS-védett webhelyet támogatja.
Célszerű az HTTP-forgalmat az Nginx-ben HTTPS-re irányítani, külön szerverblokkban az egyes webhelyverziókhoz. Javasoljuk továbbá, hogy kerülje a forgalom átirányítását az „ha” irányban, ami a szerver szokatlan viselkedését okozhatja.
Átirányítja az összes forgalmat a HTTP-ről a HTTPS-re
Adja hozzá a következő módosításokat az Nginx konfigurációs fájlba annak érdekében, hogy az összes forgalmat átirányítsa a HTTP-ről a HTTPS-verzióra:
szerverhallgat 80 default_server;
szerver név _;
return 301 https: // $ host $ request_uri;
Az alábbiakban kidolgoztuk az egyes fent említett kifejezéseket:
Figyeljen a 80 alapértelmezett kiszolgálóra - ez jelzi a rendszerét, amely elkapja az összes HTTP forgalmat a 80-as porton.
Szerver_név _ - ez az a domain, amely meg fog egyezni bármely gazdagépnévvel.
Return 301 https: // $ host $ request_uri - ez megmondja a keresőmotoroknak, amelyek véglegesen átirányítják. Meghatározza, hogy a $ host változó tartalmazza a domain neveket.
Miután megváltoztatta a konfigurációs beállításokat, újra be kell töltenie az Nginx szolgáltatásokat a rendszerére. Tehát töltse be újra a Nginx szolgáltatásokat a következő paranccsal:
$ sudo systemctl töltse be újra a nginx fájltÁtirányítja a HTTP-t HTTPS-verzióra a megadott tartományhoz az Nginx-ben
Miután telepítette az SSL tanúsítványt a domainjére, két kiszolgálóblokkolási lehetőség áll rendelkezésére ehhez a tartományhoz. Az egyik blokk a HTTP-verzió hallgatására szolgál a 80-as porton, a második pedig a HTTPS a 443-as porton. Ahhoz azonban, hogy egyetlen webhelytartományt HTTP-ről HTTPS-re irányítson, meg kell nyitnia az Nginx konfigurációt. Ezt a konfigurációs fájlt az / etc / nginx / sites-available könyvtárban találhatja meg. Mindenesetre, ha nem találta ezt a fájlt, akkor az / etc / nginx / nginx paranccsal keresheti meg.conf, / usr / local / nginx / conf vagy / usr / local / etc / nginx, majd hajtsa végre a következő módosításokat ebben a fájlban:
szerverhallgat 80;
szerver_neve tartománynév.com www.domain név.com;
return 301 https: // domain-name.com $ request_uri;
Értsük meg soronként a fenti kódot.
Figyeljen 80 - a 80-as port használatával a kiszolgáló meghallgatja az összes bejövő kapcsolat megadott tartományát.
Kiszolgáló_neve tartománynév.com www.domain név.com - megadja a domain neveket. Tehát cserélje ki az átirányítani kívánt webhely domain nevére.
Adja vissza a 301 https: // domain-name értéket.com $ request_uri - a forgalmat a webhely HTTPS verziójába helyezi át. A $ request_uri változót a teljes eredeti kérés URI-hez használják, amelyben argumentumok is szerepelnek.
A következő módszerrel átirányíthatja a forgalmat a HTTPS www verziójára a webhely nem www változatára. Ajánlott egy átirányítást külön kiszolgálóblokkban létrehozni mind a www, mind a www verziókhoz.
Magyarázzuk el egy példával. Ha a www HTTPS kéréseket át szeretné irányítani a nem www verzióra, akkor a következő konfigurációt kell követnie:
szerverhallgat 80;
szerver_neve tartománynév.com www.domain név.com;
return 301 https: // domain-name.com $ request_uri;
szerver
hallgatni 443 ssl http2;
szerver_neve www.domain név.com;
#… Egyéb kód
return 301 https: // domain-name.com $ request_uri;
szerver
hallgatni 443 ssl http2;
kiszolgáló_neve tartománynév.com;
#… Egyéb kód
Cserélje ki a domain nevet a domainjére, például a www.linuxhint.com.
Következtetés
Megbeszéltük, hogyan lehet átirányítani a forgalmat a HTTP verzióról a HTTPS-re az Nginx szerveren. Az Nginx konfigurációs fájl beállításainak megváltoztatásával könnyen átirányíthatja a forgalmat HTTPS-re egy megadott tartományhoz, vagy átirányíthatja az összeset. Ez a módszer, amelyet ebben a cikkben említettünk, a felhasználói élmény bármilyen változtatásával segíthet a webhely biztonságosabbá tételében.