I denne artikel vil vi arbejde på, hvordan man omdirigerer webtrafikken fra HTTP til en sikker HTTPS i Nginx.
Svarene og anmodningerne returneres i form af almindelig tekst i HTTP, mens HTTPS bruger SSL / TLS til at kryptere kommunikationen mellem klienten og serversystemet. På grund af mange grunde bruges HTTPS derfor over HTTP, som er angivet nedenfor:
- Alle data mellem klientserveren i begge retninger er krypteret. Imidlertid kan ingen få adgang til følsomme oplysninger, hvis de opfanges.
- Når du bruger HTTPS, vil Google Chrome og andre browsere betragte dit webstedsdomæne som sikkert.
- HTTPS-version forbedrer din specificerede webstedsydelse ved hjælp af HTTP / 2-protokollen.
- Hvis du betjener dit webstedsdomæne via HTTPS, vil webstedet rangere bedre på Google, da det favoriserer alle HTTPS-beskyttede websteder.
Det foretrækkes at omdirigere trafik HTTP til HTTPS i Nginx i en separat serverblok for hver sideversion. Det anbefales også at undgå at omdirigere trafik ved hjælp af "if" -retningen, hvilket kan forårsage usædvanlig opførsel af serveren.
Omdiriger al trafik fra HTTP til HTTPS
Tilføj følgende ændringer i Nginx-konfigurationsfilen for at omdirigere al trafik fra HTTP til HTTPS-version:
serverlyt 80 standard_server;
server navn _;
returner 301 https: // $ host $ request_uri;
Nedenfor har vi uddybet hvert ovennævnte udtryk:
Lyt 80 standard_server - dette signalerer dit system, der fanger al HTTP-trafik på Port 80.
Servernavn _ - det er domænet, der passer til ethvert værtsnavn.
Returner 301 https: // $ host $ request_uri - dette fortæller dine søgemaskiner, der omdirigerer det permanent. Det specificerer, at variablen $ host indeholder domænenavne.
Når du har ændret konfigurationsindstillingerne, skal du genindlæse Nginx-tjenesterne på dit system. Så genindlæs dine Nginx-tjenester ved hjælp af følgende kommando:
$ sudo systemctl genindlæs nginxOmdiriger HTTP til HTTPS-version for specificeret domæne i Nginx
Efter installation af SSL-certifikatet på dit domæne har du to serverblokeringsmuligheder for dette domæne. En blok er til HTTP-versionen, der lytter på port 80, og den anden version er HTTPS på port 443. For at omdirigere et enkelt webstedsdomæne fra HTTP til HTTPS skal du dog åbne Nginx-konfigurationen. Du kan finde denne konfigurationsfil i mappen / etc / nginx / sites-tilgængelig. Under alle omstændigheder, hvis du ikke fandt denne fil, kan du søge efter den med / etc / nginx / nginx.conf, / usr / local / nginx / conf eller / usr / local / etc / nginx, og udfør derefter følgende ændringer i denne fil:
serverlyt 80;
server_name domænenavn.com www.domænenavn.com;
returner 301 https: // domænenavn.com $ request_uri;
Lad os forstå ovenstående kode linje for linje.
Lyt 80 - ved hjælp af port 80 lytter serveren til alle specificerede domæner for indgående forbindelser.
Servernavn domænenavn.com www.domænenavn.com - det angiver domænenavne. Så erstat det med dit webstedsdomænenavn, som du vil omdirigere.
Returner 301 https: // domænenavn.com $ request_uri - det flytter trafikken til HTTPS-versionen af webstedet. Variablen $ request_uri bruges til den fulde oprindelige URI for anmodning, hvor også argumenter er inkluderet.
Ved hjælp af følgende metode kan du omdirigere trafik til HTTPS www-versionen til den ikke-www-version af webstedet. Det anbefales at oprette en omdirigering i en separat serverblok til både versioner, der ikke er www og www.
Lad os forklare med et eksempel. Hvis du vil omdirigere www HTTPS-anmodningerne til ikke-www-versionen, skal du følge følgende konfiguration:
serverlyt 80;
server_name domænenavn.com www.domænenavn.com;
returner 301 https: // domænenavn.com $ request_uri;
server
lyt 443 ssl http2;
servernavn www.domænenavn.com;
# ... anden kode
returner 301 https: // domænenavn.com $ request_uri;
server
lyt 443 ssl http2;
server_name domænenavn.com;
# ... anden kode
Erstat domænenavnet med dit domæne, som www.linuxhint.com.
Konklusion
Vi har diskuteret, hvordan man omdirigerer trafik fra HTTP-version til HTTPS på Nginx-serveren. Ved at ændre Nginx-konfigurationsfilindstillingen kan du nemt omdirigere trafik til HTTPS enten for et bestemt domæne eller omdirigere alle. Denne metode, som vi har nævnt i denne artikel, kan hjælpe dig med at gøre dit websted mere sikkert ved at foretage ændringer i brugeroplevelsen.