I den här artikeln kommer vi att arbeta med hur man omdirigerar webbtrafiken från HTTP till en säker HTTPS i Nginx.
Svaren och förfrågningarna returneras i form av klartext i HTTP, medan HTTPS använder SSL / TLS för att kryptera kommunikationen mellan klienten och serversystemet. På grund av många anledningar används HTTPS över HTTP, som listas nedan:
- All data mellan klientservern i båda riktningarna är krypterad. Ingen kan dock komma åt känslig information om den fångas upp.
- När du använder HTTPS kommer Google Chrome och andra webbläsare att betrakta din webbplatsdomän som säker.
- HTTPS-versionen förbättrar din angivna webbplatsprestanda med hjälp av HTTP / 2-protokollet.
- Om du betjänar din webbplatsdomän via HTTPS kommer webbplatsen att rankas bättre på Google, eftersom den gynnar alla HTTPS-säkra webbplatser.
Det föredras att omdirigera trafik HTTP till HTTPS i Nginx i ett separat serverblock för varje webbplatsversion. Det rekommenderas också att undvika omdirigering av trafik med "if" -riktningen, vilket kan orsaka ovanligt beteende hos servern.
Omdirigera all trafik från HTTP till HTTPS
Lägg till följande ändringar i Nginx-konfigurationsfilen för att omdirigera all trafik från HTTP till HTTPS-version:
serverlyssna 80 default_server;
server namn _;
returnera 301 https: // $ host $ request_uri;
Nedan har vi utarbetat varje ovannämnda term:
Lyssna 80 default_server - detta kommer att signalera ditt system som fångar all HTTP-trafik på Port 80.
Servernamn _ - det är domänen som matchar alla värdnamn.
Returnera 301 https: // $ host $ request_uri - detta berättar för dina sökmotorer som omdirigerar det permanent. Den anger att variabeln $ host innehåller domännamnen.
När du har ändrat konfigurationsinställningarna måste du ladda om Nginx-tjänsterna på ditt system. Så ladda om dina Nginx-tjänster med följande kommando:
$ sudo systemctl ladda om nginxOmdirigera HTTP till HTTPS-version för angiven domän i Nginx
När du har installerat SSL-certifikatet på din domän har du två serverblockalternativ för den här domänen. Ett block är för HTTP-versionen som lyssnar på port 80, och den andra versionen är HTTPS på port 443. För att omdirigera en enda webbplatsdomän från HTTP till HTTPS måste du dock öppna Nginx-konfigurationen. Du kan hitta den här konfigurationsfilen i katalogen / etc / nginx / sites. I vilket fall som helst, om du inte hittade den här filen kan du söka efter den med / etc / nginx / nginx.conf, / usr / local / nginx / conf eller / usr / local / etc / nginx, och utför sedan följande ändringar i den här filen:
serverlyssna 80;
server_name domännamn.com www.domän namn.com;
returnera 301 https: // domännamn.com $ request_uri;
Låt oss förstå ovanstående kod rad för rad.
Lyssna 80 - med hjälp av port 80 kommer servern att lyssna efter alla angivna domäner för inkommande anslutningar.
Server_name domännamn.com www.domän namn.com - det anger domännamnen. Så ersätt det med ditt webbplatsdomännamn som du vill omdirigera.
Returnera 301 https: // domännamn.com $ request_uri - det flyttar trafiken till HTTPS-versionen av webbplatsen. Variabeln $ request_uri används för den fullständiga ursprungliga begäran URI där även argument ingår.
Med hjälp av följande metod kan du omdirigera trafik till HTTPS www-versionen till webbplatsens icke-www-version. Det rekommenderas att skapa en omdirigering i ett separat serverblock för både versioner som inte är www och www.
Låt oss förklara med ett exempel. Om du vill omdirigera www HTTPS-förfrågningarna till den icke-www-versionen följer du följande konfiguration:
serverlyssna 80;
server_name domännamn.com www.domän namn.com;
returnera 301 https: // domännamn.com $ request_uri;
server
lyssna på 443 ssl http2;
servernamn www.domän namn.com;
# ... annan kod
returnera 301 https: // domännamn.com $ request_uri;
server
lyssna på 443 ssl http2;
server_name domännamn.com;
# ... annan kod
Ersätt domännamnet med din domän, som www.linuxhint.com.
Slutsats
Vi har diskuterat hur man omdirigerar trafik från HTTP-version till HTTPS på Nginx-servern. Genom att ändra Nginx-konfigurationsfilinställningen kan du enkelt omdirigera trafik till HTTPS antingen för en viss domän eller omdirigera alla. Denna metod, som vi nämnde i den här artikeln, kan hjälpa dig att göra din webbplats säkrare genom att göra ändringar i användarupplevelsen.