Android

Preusmjerite http na https u nginx

Reunion | Award-winning Short Film 重逢—獲獎微電影

Reunion | Award-winning Short Film 重逢—獲獎微電影

Sadržaj:

Anonim

U ovom ćemo vodiču objasniti kako preusmjeriti HTTP promet na HTTPS u Nginxu.

Nginx izgovara "motor x" je besplatni, open-source, visoke performanse HTTP i obrnuti proxy poslužitelj koji je odgovoran za rukovanje teretom nekih od najvećih web lokacija na Internetu.

Za razliku od HTTP-a, gdje se zahtjevi i odgovori šalju i vraćaju u otvorenom tekstu, HTTPS koristi TLS / SSL za šifriranje komunikacije između klijenta i poslužitelja.

Mnogo je prednosti upotrebe HTTPS-a preko HTTP-a, poput:

  • Svi su podaci šifrirani u oba smjera. Kao rezultat toga, osjetljive informacije se ne mogu pročitati ako ih presretnete.Google Chrome i svi drugi popularni preglednici vašu web stranicu označavaju kao sigurnu.HTTPS vam omogućuje korištenje HTTP / 2 protokola, što značajno poboljšava performanse web lokacije.Google favorizira web stranice HTTPS. Vaša će web lokacija biti bolja ako se poslužuje putem

Preferirana metoda za preusmjeravanje HTTP-a na HTTPS u Nginxu je konfiguriranje zasebnog bloka poslužitelja za svaku verziju web mjesta. Trebali biste izbjegavati preusmjeravanje prometa koristeći direktivu if, jer to može uzrokovati nepredvidivo ponašanje poslužitelja.

Preusmjerite HTTP na HTTPS po web mjestu

Za preusmjeravanje jedne web stranice na HTTPS otvorite datoteku konfiguracije domene i izvršite sljedeće promjene:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }

Raščlanimo kodni redak po red:

  • listen 80 - Blok poslužitelja će slušati dolazne veze na priključku 80 za navedenu domenu. server_name linuxize.com www.linuxize.com - Određuje nazive domena poslužiteljskog bloka. Obavezno ga zamijenite svojim nazivom domene. return 301 - Preusmjerite promet na HTTPS verziju web lokacije. Varijabla $request_uri potpuni je izvorni URI zahtjeva, uključujući argumente.

Obično ćete također htjeti preusmjeriti HTTPS www verziju web mjesta na ne-www ili obrnuto. Preporučeni način za preusmjeravanje je stvaranje zasebnog bloka poslužitelja i za www i za ne-www verzije.

Na primjer, za preusmjeravanje HTTPS www zahtjeva na ne-www, upotrijebili biste sljedeću konfiguraciju:

server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }

Sve web stranice preusmjerite na HTTPS

Ako su sve web stranice koje se nalaze na poslužitelju konfigurirane za upotrebu HTTPS-a, a ne želite stvoriti zasebni blok HTTP poslužitelja za svaku web lokaciju, možete stvoriti jedan blok HTTP poslužitelja koji je uhvaćen. Ovaj će blok preusmjeriti sve HTTP zahtjeve u odgovarajuće HTTPS blokove.

Za stvaranje jedinstvenog HTTP bloka koji će posjetitelje preusmjeriti na HTTPS verziju web mjesta otvorite konfiguracijsku datoteku Nginx i izvršite sljedeće promjene:

server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }

Analizirajmo kod po liniju:

  • listen 80 default_server - postavlja ovaj blok poslužitelja kao zadani (catch-all) blok za sve neusporedive domene. server_name _ - _ je nevaljano ime domene koje se nikada ne podudara sa stvarnim imenom domene. return 301 - Preusmjerite promet na odgovarajući blok HTTPS poslužitelja sa statusnim kodom 301 (premješteno trajno). Promjena $host sadrži naziv domene zahtjeva.

Na primjer, ako posjetitelj otvori http://example.com/page2 u pregledniku, Nginx će zahtjev preusmjeriti na https://example.com/page2 .

Ako je moguće, radije kreirajte preusmjeravanje na osnovi domene umjesto globalnog preusmjeravanja HTTP na

Zaključak

Jednom kada na vašem web mjestu instalirate SSL certifikat, trebali biste preusmjeriti HTTP promet na

U Nginxu je preferirani način preusmjeravanja HTTP-a na HTTPS izrada zasebnih blokova poslužitelja i izvođenje preusmjeravanja 301.

Nginx