Nginx omdirigerer http til https

Nginx omdirigerer http til https
Nginx, uttalt som "Engine X", er en gratis, open source Linux-basert høyytelsesnett og en omvendt proxy-server som er ansvarlig for å administrere og håndtere belastningen på den største nettstedstrafikken på Internett. Nginx er et kraftig viderekoblingsverktøy som enkelt kan konfigureres på systemet ditt for å omdirigere de mindre sikre eller ukrypterte HTTP -netttrafikken til en kryptert og sikret HTTPS -webserver. Hvis du er systemadministrator eller en utvikler, bruker du NGINX -serveren regelmessig.

I denne artikkelen vil vi jobbe med hvordan du kan omdirigere netttrafikken fra HTTP til en sikker HTTPS i Nginx.

Svarene og forespørslene returneres i form av PlainText i HTTP, mens HTTPS bruker SSL/TLS for å kryptere kommunikasjonen mellom klient- og serversystemet. Derfor på grunn av mange grunner brukes HTTPS over HTTP, som er listet opp nedenfor:

  • Alle dataene mellom klient-serveren i begge retninger er kryptert. Imidlertid kan noen ikke få tilgang til sensitiv informasjon hvis de blir oppfanget.
  • Når du bruker HTTPS, vil Google Chrome og andre nettlesere betrakte nettstedets domene som trygt.
  • HTTPS -versjon forbedrer den spesifiserte nettstedets ytelse ved hjelp av HTTP/2 -protokollen.
  • Hvis du serverer nettstedsdomenet ditt via HTTPS, vil nettstedet rangere bedre på Google, ettersom det favoriserer alle HTTPS Secured nettsteder.

Det er å foretrekke å omdirigere trafikk HTTP til HTTPS i Nginx i en egen serverblokk for hver nettstedsversjon. Det anbefales også å unngå å omdirigere trafikk ved å bruke "hvis" retning som kan forårsake uvanlig oppførsel til serveren.

Omdirigere all trafikk fra http til https

Legg til følgende endringer i Nginx -konfigurasjonsfilen for å omdirigere all trafikk fra HTTP til HTTPS -versjon:

server
Lytt 80 standard_server;
Server navn _;
return 301 https: // $ host $ request_uri;

Nedenfor har vi utdypet hvert ovennevnte begrep:

Lytt 80 standard_server - Dette vil signalisere systemet ditt som fanger all HTTP -trafikk på port 80.
Server_name _ - Det er domenet som vil samsvare med ethvert vertsnavn.

Returner 301 https: // $ host $ request_uri - Dette forteller søkemotorene dine som omdirigerer det permanent. Den spesifiserer at variabelen $ verten har domenenavnene.

Når du har endret konfigurasjonsinnstillingene, må du laste inn NGINX -tjenestene på systemet ditt på systemet ditt på systemet ditt. Så last inn NGINX -tjenestene dine ved å bruke følgende kommando:

$ sudo SystemCTL Reload Nginx

Omdirigere http til https -versjon for spesifisert domene i nginx

Etter å ha installert SSL -sertifikatet på domenet ditt, vil du ha to serverblokker 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 nettstedsdomen fra HTTP til HTTPS, må du imidlertid åpne Nginx -konfigurasjonen. Du kan finne denne konfigurasjonsfilen i/etc/nginx/nettsteder-tilgjengelig-katalogen. 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:

server
Lytt 80;
Server_name domenenavn.com www.domenenavn.com;
Returner 301 https: // domene-navn.com $ request_uri;

La oss forstå ovennevnte kodelinje for linje.
Lytt 80 - Ved hjelp av port 80 vil serveren lytte etter alle innkommende tilkoblinger som er spesifisert domene.

Server_name domenenavn.com www.domenenavn.com - det spesifiserer domenenavnene. Så erstatt det med nettstedet ditt til nettstedet du vil omdirigere.

Returner 301 https: // domene-navn.com $ request_uri - den flytter trafikken til https -versjonen av nettstedet. $ Request_uri -variabelen brukes til den fulle originale forespørselen URI 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ørsler til ikke-www-versjonen, vil du følge følgende konfigurasjon:

server
Lytt 80;
Server_name domenenavn.com www.domenenavn.com;
Returner 301 https: // domene-navn.com $ request_uri;

server
Lytt 443 SSL Http2;
Server_name www.domenenavn.com;
#... annen kode
Returner 301 https: // domene-navn.com $ request_uri;

server
Lytt 443 SSL Http2;
Server_name domenenavn.com;
#... annen kode

Bytt ut domenenavnet med domenet ditt, som www.Linuxhint.com.

Konklusjon

Vi har diskutert hvordan vi kan omdirigere trafikk fra HTTP -versjon til HTTPS på Nginx -serveren. Ved å endre innstillingen Nginx -konfigurasjonsfilen, kan du enkelt omdirigere trafikk til HTTPS enten for et spesifisert domene eller omdirigere alle. Denne metoden, som vi har nevnt i denne artikkelen, kan hjelpe deg med å gjøre nettstedet ditt sikrere ved å gjøre endringer i brukeropplevelsen.