V tomto článku budeme pracovat na tom, jak přesměrovat webový provoz z HTTP na zabezpečený HTTPS v Nginx.
Odpovědi a požadavky jsou vráceny ve formě prostého textu v HTTP, zatímco HTTPS používá k šifrování komunikace mezi systémem klienta a serveru SSL / TLS. Z mnoha důvodů se proto protokol HTTPS používá přes protokol HTTP, které jsou uvedeny níže:
- Všechna data mezi klientem a serverem v obou směrech jsou šifrována. Kdokoli však nemůže získat přístup k citlivým informacím, pokud je zachycen.
- Pokud používáte HTTPS, bude Google Chrome a další prohlížeče považovat doménu vašeho webu za bezpečnou.
- Verze HTTPS zlepšuje výkon zadaného webu pomocí protokolu HTTP / 2.
- Pokud poskytujete doménu svého webu prostřednictvím protokolu HTTPS, bude mít tento web lepší hodnocení na Googlu, protože upřednostňuje všechny zabezpečené webové stránky HTTPS.
Upřednostňuje se přesměrovat provoz HTTP na HTTPS v Nginx v samostatném bloku serveru pro každou verzi webu. Rovněž se doporučuje vyhnout se přesměrování provozu pomocí směru „if“, což může způsobit neobvyklé chování serveru.
Přesměrujte veškerý provoz z HTTP na HTTPS
Přidejte následující změny do konfiguračního souboru Nginx, abyste přesměrovali veškerý provoz z verze HTTP na HTTPS:
serverposlouchat 80 default_server;
název_serveru _;
vrátit 301 https: // $ host $ request_uri;
Níže jsme zpracovali každý výše uvedený termín:
Poslouchat 80 default_server - bude to signalizovat váš systém, který zachytí veškerý provoz HTTP na portu 80.
Název_serveru _ - je to doména, která se bude shodovat s jakýmkoli názvem hostitele.
Vrátit 301 https: // $ host $ request_uri - to řekne vašim vyhledávačům, že to trvale přesměrují. Určuje, že proměnná $ host obsahuje názvy domén.
Jakmile změníte nastavení konfigurace, musíte znovu načíst služby Nginx do vašeho systému. Znovu načtěte své služby Nginx pomocí následujícího příkazu:
$ sudo systemctl znovu načíst nginxPřesměrujte HTTP na verzi HTTPS pro zadanou doménu v Nginx
Po instalaci certifikátu SSL ve vaší doméně budete mít pro tuto doménu dvě možnosti blokování serveru. Jeden blok je pro verzi HTTP naslouchající na portu 80 a druhou verzí je HTTPS na portu 443. Chcete-li však přesměrovat jednu doménu webové stránky z HTTP na HTTPS, musíte otevřít konfiguraci Nginx. Tento konfigurační soubor můžete vyhledat v adresáři / etc / nginx / sites-available. V každém případě, pokud jste tento soubor nenašli, můžete jej vyhledat pomocí / etc / nginx / nginx.conf, / usr / local / nginx / conf nebo / usr / local / etc / nginx a poté proveďte v tomto souboru následující změny:
serverposlouchat 80;
název_serveru název-domény.com www.doménové jméno.com;
vrátit 301 https: // název-domény.com $ request_uri;
Rozumíme výše uvedenému kódu řádek po řádku.
Poslouchejte 80 - pomocí portu 80 bude server naslouchat všem příchozím připojením zadané domény.
Název_serveru název_domény.com www.doménové jméno.com - specifikuje názvy domén. Nahraďte jej tedy názvem domény svého webu, který chcete přesměrovat.
Vrátit 301 https: // název-domény.com $ request_uri - přesune provoz na HTTPS verzi webu. Proměnná $ request_uri se používá pro celý původní identifikátor URI požadavku, ve kterém jsou také zahrnuty argumenty.
Pomocí následující metody můžete přesměrovat provoz na verzi HTTPS www na jinou než webovou verzi webu. Pro verze jiné než www a www se doporučuje vytvořit přesměrování v samostatném bloku serveru.
Vysvětlíme to na příkladu. Pokud chcete přesměrovat požadavky www HTTPS na ne-www verzi, postupujte podle následující konfigurace:
serverposlouchat 80;
název_serveru název-domény.com www.doménové jméno.com;
vrátit 301 https: // název-domény.com $ request_uri;
server
poslouchat 443 SSL http2;
název_serveru www.doménové jméno.com;
#… Jiný kód
vrátit 301 https: // název-domény.com $ request_uri;
server
poslouchat 443 SSL http2;
název_serveru název-domény.com;
#… Jiný kód
Nahraďte název domény svou doménou, například www.linuxhint.com.
Závěr
Diskutovali jsme o tom, jak přesměrovat provoz z verze HTTP na HTTPS na serveru Nginx. Změnou nastavení konfiguračního souboru Nginx můžete snadno přesměrovat provoz na HTTPS buď pro zadanou doménu, nebo přesměrovat vše. Tato metoda, kterou jsme v tomto článku zmínili, vám může pomoci zvýšit bezpečnost vašeho webu provedením jakýchkoli změn v uživatelském prostředí.