Az Nginx átirányítja a HTTP -t a HTTPS -re

Nginx Redirect Http Https



Az Nginx, amelyet Engine x-ként ejtenek, egy ingyenes, nyílt forráskódú, Linux-alapú, nagy teljesítményű web és egy fordított proxyszerver, amely felelős az internet legnagyobb forgalmának terhelésének kezeléséért és kezeléséért. Az Nginx egy hatékony átirányító eszköz, amely könnyen konfigurálható a rendszeren, hogy átirányítsa a kevésbé biztonságos vagy titkosítatlan HTTP webes forgalmat egy titkosított és biztonságos HTTPS webszerverre. Ha Ön rendszergazda vagy fejlesztő, akkor rendszeresen használja az Nginx szervert.

Ebben a cikkben azon dolgozunk, hogyan lehet átirányítani a webes forgalmat a HTTP -ről egy biztonságos HTTPS -re az Nginx -ben.





A válaszok és kérések egyszerű szöveg formájában kerülnek vissza HTTP -ben, míg a HTTPS SSL/TLS protokollt használ az ügyfél és a kiszolgálórendszer közötti kommunikáció titkosítására. Ezért számos okból kifolyólag a HTTPS protokollt a HTTP -n használják, amelyek az alábbiak:



  • A kliens-szerver közötti, mindkét irányban lévő összes adat titkosítva van. Azonban bárki nem férhet hozzá az érzékeny információkhoz, ha lehallgatják.
  • 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 jobb lesz a Google -on, mivel előnyben részesíti az összes HTTPS -vel védett webhelyet.

Előnyös, ha a forgalom HTTP -jét átirányítja a HTTPS -re az Nginx -ben egy külön kiszolgálóblokkban minden webhelyverzióhoz. Javasoljuk továbbá, hogy kerülje a forgalom átirányítását olyan irányú használatával, amely a szerver szokatlan viselkedését okozhatja.



Az összes forgalmat átirányítja a HTTP -ről a HTTPS -re

Adja hozzá a következő módosításokat az Nginx konfigurációs fájljához, hogy az összes forgalmat átirányítsa a HTTP -ről a HTTPS verzióra:





szerver {
hallgat 80default_server;
szerver név _;
Visszatérés 301https: //$ gazdagép$ request_uri;
}

Az alábbiakban minden fent említett kifejezést kidolgoztunk:

Figyelj a 80 alapértelmezett_kiszolgálóra - ez jelzi a rendszert, amely elfogja az összes HTTP forgalmat a 80 -as porton.
Szerver_név _ - ez az a tartomány, amely illeszkedik bármely gazdagépnévhez.



Vissza 301 https: // $ host $ request_uri - ez jelzi a keresőmotoroknak, hogy véglegesen átirányítják. Megadja, hogy a $ host változó tartalmazza a tartományneveket.

Miután megváltoztatta a konfigurációs beállításokat, újra kell töltenie az Nginx szolgáltatásokat a rendszeren. Tehát töltse be újra az Nginx szolgáltatásait a következő paranccsal:

$sudosystemctl reload nginx

A HTTP átirányítása a 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 szerverblokk -beállítás közül választhat ehhez a tartományhoz. Az egyik blokk a 80 -as porton a HTTP -verzió figyelésére szolgál, a második pedig a HTTPS -re a 443 -as porton. Ha azonban egyetlen webhelytartományt szeretne átirányítani a HTTP -ről a HTTPS -re, 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, keresse meg az /etc/nginx/nginx.conf,/usr/local/nginx/conf vagy/usr/local/etc/nginx paranccsal, majd hajtsa végre a a következő változások ebben a fájlban:

szerver {
hallgat 80;
szerver név domain-name.com www.domain-name.com;
Visszatérés 301https://domain-name.com$ request_uri;
}

Értsük soronként a fenti kódot.
80 -as figyelés - a 80 -as port használatával a szerver figyelni fogja az összes bejövő kapcsolatot a megadott tartományban.

Server_name domain-name.com www.domain-name.com-a tartománynevek megadása. Tehát cserélje ki az átirányítani kívánt webhely domainnevére.

Visszaadva 301 https: //domain-name.com$request_uri-áthelyezi a forgalmat a webhely HTTPS verziójára. A $ request_uri változót a teljes eredeti kérés URI -hoz használják, amelyben az érvek is szerepelnek.

A következő módszerrel átirányíthatja a forgalmat a HTTPS www verzióra a webhely nem www verziójára. Javasoljuk, hogy az átirányítást külön szerverblokkban hozza létre mind a www, mind a www változat esetén.

Magyarázzuk el egy példával. Ha át szeretné irányítani a www HTTPS kéréseket a nem www verzióra, akkor kövesse az alábbi konfigurációt:

szerver {
hallgat 80;
szerver név domain-name.com www.domain-name.com;
Visszatérés 301https://domain-name.com$ request_uri;
}
szerver {
hallgat 443 ssl http2;
szerver név www.domain-name.com;
#. . . más kód
Visszatérés 301https://domain-name.com$ request_uri;
}
szerver {
hallgat 443 ssl http2;
szerver név domain-name.com;

#. . . más kód
}

Cserélje ki a domain nevet a domainjére, például a www.linuxhint.com webhelyre.

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ásának megváltoztatásával könnyedén átirányíthatja a forgalmat a HTTPS -re egy megadott tartományhoz, vagy átirányíthatja az összeset. Ez a módszer, amelyet ebben a cikkben említettünk, segíthet webhelyének biztonságosabbá tételében a felhasználói élmény bármilyen módosításával.