I denne artikkelen vil vi jobbe med hvordan du omdirigerer nettrafikken fra HTTP til en sikker HTTPS i Nginx.
Svarene og forespørslene returneres i form av ren tekst i HTTP, mens HTTPS bruker SSL / TLS for å kryptere kommunikasjonen mellom klienten og serversystemet. På grunn av mange grunner brukes HTTPS over HTTP, som er oppført nedenfor:
- Alle dataene mellom klientserveren i begge retninger er kryptert. Imidlertid kan ingen få tilgang til sensitiv informasjon hvis de blir fanget opp.
- Når du bruker HTTPS, vil Google Chrome og andre nettlesere vurdere nettstedsdomenet ditt som trygt.
- HTTPS-versjon forbedrer den spesifiserte ytelsen til nettstedet ditt ved hjelp av HTTP / 2-protokollen.
- Hvis du betjener nettstedsdomenet ditt via HTTPS, vil nettstedet rangere bedre på Google, da det favoriserer alle HTTPS-sikre nettsteder.
Det foretrekkes å omdirigere trafikk HTTP til HTTPS i Nginx i en egen serverblokk for hver sideversjon. Det anbefales også å unngå omdirigering av trafikk i "if" -retningen, noe som kan føre til uvanlig oppførsel fra serveren.
Omdiriger all trafikk fra HTTP til HTTPS
Legg til følgende endringer i Nginx-konfigurasjonsfilen for å omdirigere all trafikk fra HTTP til HTTPS-versjon:
serverhør 80 standard_server;
Server navn _;
returner 301 https: // $ host $ request_uri;
Nedenfor har vi utdypet hvert ovennevnte begrep:
Lytt 80 default_server - dette signaliserer systemet ditt som fanger all HTTP-trafikk på Port 80.
Servernavn _ - det er domenet som vil samsvare med ethvert vertsnavn.
Returner 301 https: // $ host $ request_uri - dette forteller søkemotorer som omdirigerer det permanent. Den spesifiserer at variabelen $ host har domenenavnene.
Når du endrer konfigurasjonsinnstillingene, må du laste Nginx-tjenestene på nytt på systemet ditt. Så last inn Nginx-tjenestene dine ved å bruke følgende kommando:
$ sudo systemctl last inn nginx på nyttOmdiriger HTTP til HTTPS-versjon for spesifisert domene i Nginx
Etter at du har installert SSL-sertifikatet på domenet ditt, vil du ha to serverblokkeringsalternativer for dette domenet. En blokk er for HTTP-versjonen som lytter på port 80, og den andre versjonen er HTTPS på port 443. For å omdirigere et enkelt nettstedsdomene fra HTTP til HTTPS, må du imidlertid åpne Nginx-konfigurasjonen. Du kan finne denne konfigurasjonsfilen i katalogen / etc / nginx / sites. I alle fall, hvis du ikke fant denne filen, kan du søke etter den med / etc / nginx / nginx.conf, / usr / local / nginx / conf eller / usr / local / etc / nginx, og utfør deretter følgende endringer i denne filen:
serverhør 80;
servernavn domenenavn.com www.domenenavn.com;
returner 301 https: // domenenavn.com $ request_uri;
La oss forstå kodene ovenfor linje for linje.
Lytt 80 - ved hjelp av port 80 vil serveren lytte etter alle angitte domener for innkommende tilkoblinger.
Server_name domain name.com www.domenenavn.com - det spesifiserer domenenavnene. Så erstatt det med domenenavnet på nettstedet du vil omdirigere.
Returner 301 https: // domenenavn.com $ request_uri - den flytter trafikken til HTTPS-versjonen av nettstedet. Variablen $ request_uri brukes til hele den opprinnelige URI-forespørselen der argumenter også er inkludert.
Ved hjelp av følgende metode kan du omdirigere trafikk til HTTPS www-versjonen til ikke-www-versjonen av nettstedet. Det anbefales å opprette en omdirigering i en egen serverblokk for både ikke-www- og www-versjoner.
La oss forklare med et eksempel. Hvis du vil omdirigere www HTTPS-forespørslene til ikke-www-versjonen, vil du følge følgende konfigurasjon:
serverhør 80;
servernavn domenenavn.com www.domenenavn.com;
returner 301 https: // domenenavn.com $ request_uri;
server
hør 443 ssl http2;
servernavn www.domenenavn.com;
# ... annen kode
returner 301 https: // domenenavn.com $ request_uri;
server
hør 443 ssl http2;
servernavn domenenavn.com;
# ... annen kode
Erstatt domenenavnet med domenet ditt, som www.linuxhint.com.
Konklusjon
Vi har diskutert hvordan du omdirigerer trafikk fra HTTP-versjon til HTTPS på Nginx-serveren. Ved å endre Nginx-konfigurasjonsfilinnstillingen, kan du enkelt omdirigere trafikk til HTTPS enten for et spesifisert domene eller omdirigere alt. Denne metoden, som vi har nevnt i denne artikkelen, kan hjelpe deg med å gjøre nettstedet ditt sikrere ved å gjøre endringer i brukeropplevelsen.