Nginx

Nginx Redirect HTTP naar HTTPS

Nginx Redirect HTTP naar HTTPS
Nginx, uitgesproken als "Engine x", is een gratis, open-source Linux-gebaseerd high-performance web en een reverse proxy-server die verantwoordelijk is voor het beheren en afhandelen van de belasting van het grootste websiteverkeer op internet. Nginx is een krachtige omleidingstool die eenvoudig op uw systeem kan worden geconfigureerd om het minder veilige of niet-versleutelde HTTP-webverkeer om te leiden naar een versleutelde en beveiligde HTTPS-webserver. Als u een systeembeheerder of een ontwikkelaar bent, gebruikt u de Nginx-server regelmatig.

In dit artikel zullen we werken aan het omleiden van het webverkeer van HTTP naar een veilige HTTPS in Nginx.

De antwoorden en verzoeken worden geretourneerd in de vorm van platte tekst in HTTP, terwijl de HTTPS SSL/TLS gebruikt om de communicatie tussen de client en het serversysteem te versleutelen. Daarom wordt HTTPS om vele redenen gebruikt in plaats van HTTP, die hieronder worden vermeld:

Het verdient de voorkeur om HTTP-verkeer om te leiden naar HTTPS in Nginx in een apart serverblok voor elke siteversie. Het wordt ook aanbevolen om het omleiden van verkeer met behulp van de "if"-richting te vermijden, wat ongebruikelijk gedrag van de server kan veroorzaken.

Leid al het verkeer om van HTTP naar HTTPS

Voeg de volgende wijzigingen toe aan het Nginx-configuratiebestand om al het verkeer van HTTP naar HTTPS-versie om te leiden:

server
luister 80 default_server;
server naam _;
retourneer 301 https://$host$request_uri;

Hieronder hebben we elke bovengenoemde term uitgewerkt:

Luister 80 default_server - dit zal uw systeem signaleren dat al het HTTP-verkeer op poort 80 wordt opgevangen.
Servernaam _ - het is het domein dat overeenkomt met elke hostnaam.

Return 301 https://$host$request_uri - dit vertelt uw zoekmachines dat het permanent wordt omgeleid. Het specificeert dat de variabele $host de domeinnamen bevat.

Nadat je de configuratie-instellingen hebt gewijzigd, moet je de Nginx-services opnieuw op je systeem laden. Dus herlaad je Nginx-services met behulp van de volgende opdracht:

$ sudo systemctl herlaad nginx

Redirect HTTP naar HTTPS-versie voor gespecificeerd domein in Nginx

Nadat u het SSL-certificaat op uw domein hebt geïnstalleerd, heeft u twee opties voor serverblokkering voor dit domein. Eén blok is voor de HTTP-versie die luistert op poort 80, en de tweede versie is HTTPS op poort 443. Als u echter een enkel websitedomein van HTTP naar HTTPS wilt omleiden, moet u de Nginx-configuratie openen. U kunt dit configuratiebestand vinden in de map /etc/nginx/sites-available. In ieder geval, als je dit bestand niet hebt gevonden, kun je ernaar zoeken met /etc/nginx/nginx.conf, /usr/local/nginx/conf of /usr/local/etc/nginx, en voer vervolgens de volgende wijzigingen in dit bestand uit:

server
luister 80;
servernaam domeinnaam.com www.domeinnaam.com;
retourneer 301 https://domeinnaam.com$request_uri;

Laten we de bovenstaande code regel voor regel begrijpen.
Luister 80 - door poort 80 te gebruiken, luistert de server naar alle inkomende verbindingen gespecificeerd domein.

Servernaam domeinnaam.com www.domeinnaam.com - het specificeert de domeinnamen. Vervang deze dus door de domeinnaam van uw website die u wilt omleiden.

Retour 301 https://domeinnaam.com$request_uri - het verplaatst het verkeer naar de HTTPS-versie van de site. De variabele $request_uri wordt gebruikt voor de volledige originele aanvraag-URI waarin ook argumenten zijn opgenomen.

Met de volgende methode kunt u verkeer naar de HTTPS www-versie omleiden naar de niet-www-versie van de site. Het wordt aanbevolen om een ​​omleiding te maken in een apart serverblok voor zowel niet-www- als www-versies.

Laten we het uitleggen met een voorbeeld. Als u de www HTTPS-verzoeken wilt omleiden naar de niet-www-versie, volgt u de volgende configuratie:

server
luister 80;
servernaam domeinnaam.com www.domeinnaam.com;
retourneer 301 https://domeinnaam.com$request_uri;

server
luister 443 ssl http2;
servernaam www.domeinnaam.com;
#… andere code
retourneer 301 https://domeinnaam.com$request_uri;

server
luister 443 ssl http2;
servernaam domeinnaam.com;
#… andere code

Vervang de domeinnaam door uw domein, zoals www.linuxhint.com.

Conclusie

We hebben besproken hoe het verkeer van de HTTP-versie naar de HTTPS op de Nginx-server kan worden omgeleid. Door de instelling van het Nginx-configuratiebestand te wijzigen, kunt u het verkeer eenvoudig omleiden naar HTTPS voor een bepaald domein of alles omleiden. Deze methode, die we in dit artikel hebben genoemd, kan u helpen uw website veiliger te maken door wijzigingen aan te brengen in de gebruikerservaring.

Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...