Nginx

Hur omdirigerar du webbadresser i Nginx

Hur omdirigerar du webbadresser i Nginx
Nginx är en lätt webbserver, som ofta används som en omvänd proxy, webbserver och en belastningsutjämnare också. Nginx kommer som standard med många användbara funktioner och mer kan läggas till som moduler när den installeras. Den här guiden avser att visa hur man använder Nginx för att omdirigera webbadresser till olika riktningar. Trots att Nginx tillhandahåller en mängd funktioner för att omdirigera webbadresser, använder den här guiden en bråkdel av dem eftersom det är avsikten att endast lära ut de väsentliga i webbadress omdirigering. Områdena som omfattas av den här guiden är omdirigera osäkra (port 80) URL-adresser till dess säkra version, omdirigera en begäran till IP-adressen till ett domännamn och slutligen omdirigera alla andra underdomäner, domäner till huvuddomänen.

Förkrav

Först och främst antar den här guiden att användaren har en riktig SSH-klient installerad på datorn, om inte fortsätt och installera Putty som klient, använd sedan följande kommandon. Dessutom, med Nginx, krävs också Nano-redaktör.

  1. Skriv följande kommandon för att installera Nano textredigerare. Det första kommandot hjälper till att hämta senaste paket från förvaren, och det andra kommandot installerar den senaste versionen av nano textredigerare.
sudo apt-get-uppdatering
sudo apt-get install nano
  1. Skriv följande kommando i terminalfönstret för att ändra den aktuella katalogen till nginx-katalogen.
cd / etc / nginx / platser-tillgängliga
  1. Skriv nu nano standard eller filens namn associerat med domänen för att ändra domänens inställningar.
  2. Sedan följer du ett av följande segment för att fortsätta.

Omdirigera från HTTP (Port 80)

Google, Bing och många andra sökmotorer gynnar idag webbplatser med en krypterad anslutning. När anslutningen mellan klienten och servern är krypterad är data som överförs genom den specifika anslutningen säker, och därmed kan tredje part inte komma åt dessa data. När anslutningen inte är krypterad är sådana webbplatser osäkra och det äventyrar säkerheten för data. Osäker webbplats använder port 80 för att tillhandahålla sina tjänster till allmänheten. Tyvärr ansluts webbläsaren som standard till port 80, eftersom webbservern antar att det är vad klienten vill ha som standard, och därför måste begäran omdirigeras till dess säkra version. Det finns flera sätt att få det gjort med Nginx.

Metod 1

Om det aktuella domännamnet är tillgängligt och om det tar emot förfrågningar från klienter kan de omdirigeras till en annan domän med följande kodavsnitt. Kopiera det helt enkelt till standardfilen eller filen till domänen.

Standardserverparameter anger att detta serverblock är standardserver, alltså förfrågningar till port 80 kör detta serverblock först som standard, och sedan följer resten därefter. Parentesen betyder att den också hämtar förfrågningar från ipv6-nätverk. Retur 310 betyder, omdirigeringen är permanent, och sålunda skickas länkjuice tillsammans med den.

server
lyssna 80 default_server;
lyssna [::]: 80 default_server;
server_name-domän.com www.domän.com;
returnera 301 https: // domän.com $ request_uri;

Metod 2

Om den aktuella servern inte har någon webbplats kopplad till den och kravet omdirigerar alla förfrågningar till port 80 kan följande serverblock användas. Kopiera den till standardfilen som tidigare angivits. Här betecknar _ (understrykning) alla domäner. Som tidigare, standard_serverparameter, kan parenteser (för IPv6-adresser) som valfria attribut också användas här.

server
lyssna 80 default_server;
server namn _;
returnera 301 https: // $ host $ request_uri;

Metod 3

Följande kodavsnitt betyder att om anslutningen inte är krypterad, vilket betyder port 80 som tar emot förfrågningar, omdirigeras de till en säker version av den angivna domänen. Detta ska kopieras till var som helst i servern , men efter parametern server_name.

if ($ schema != "https")
returnera 301 https: // $ host $ request_uri;

Omdirigering från IP-adressen

Till skillnad från en delad värd har både dedikerade servrar och virtuella privata servrar alltid en dedikerad IP-adress tilldelad. Om webbservern är konfigurerad med Nginx med understrykning (vilket innebär att servern behandlar varje förfrågan), får varje begäran till IP-adressen också tillgång till webbplatsen. Att ha tillgång till webbplatsen via en IP-adress är inte något som alla webbansvariga vill ha på grund av olika skäl. Å andra sidan, om varje begäran behandlas kan skadliga användare associera vilken slumpmässig domän som helst med webbservern, vilket inte är bra för namnet på varumärket eller verksamheten, och därför är det viktigt att endast behandla förfrågningar till specifika domäner eller IP-adress. Detta segment visar i sådana fall hur man behandlar förfrågningar till webbserverns IP-adress. Genom att använda detta kodblock tillsammans med ett av ovanstående kodblock (förutom metod 2 i tidigare lösning) säkerställs varje begäran till båda domänerna och IP omdirigeras till önskad destination.

Som sagt ovan, kopiera följande kodavsnitt till standardfil Nginx (förkrav, 3: e steget). Istället för att använda namnet på domänen i parametern server_name, använd bara serverns IP-adress, och i nästa rad använder du “return 301 domain” dit begäran omdirigeras. Nu när en begäran till just denna IP-adress mottages till servern, omdirigeras den till den angivna domänen. Ett bästa exempel för det är när en slumpmässig användare skriver webbserverns IP för att komma åt webbplatsen direkt. Om följande kodavsnitt inte anges någonstans i standardfilen behandlas inte någon begäran till IP-adressen. därmed kan användare inte komma åt webbplatsen via IP-adressen.

server
lyssna 80;
lyssna [::]: 80;
lyssna på 443 ssl http2;
lyssna [::]: 443 ssl http2;
servernamn 192.168.1.1;
returnera 301 https: // nucuta.com;

Omdirigera från alla andra domäner

Denna lösning är samma som den första lösningen i den här guiden, förutom att den också omdirigerar förfrågningar till 443-porten på webbservern, vilket innebär att både säkra och osäkra förfrågningar omdirigeras till den angivna domänen i returparameter. Som sagt tidigare, kopiera helt enkelt detta till standardfilen.

server
lyssna 80;
lyssna [::]: 80;
lyssna på 443 ssl http2;
lyssna [::]: 443 ssl http2;
server_name-domän.com www.domän.com;
returnera 301 https: // nucuta.com;

Slutförande

Efter att ha följt en av ovanstående lösningar måste nginx-filen kompileras för att konfigurationen ska träda i kraft. Standardfilen måste dock testas innan den kompileras, eftersom den förhindrar att webbservern kraschar om det uppstod ett fel i konfigurationen.

  1. Använd bara följande kommando i Linux-terminalen för att testa standardkonfigurationsfilen, resultatet är bra, fortsätt till nästa steg.
sudo nginx -t
  1. Använd något av följande kommandon för att starta om Nginx-webbservern. Kommandot beror på namnet och versionen av Linux distro.
sudo systemctl starta om nginx
sudo service nginx ladda om
sudo / etc / init.d / nginx ladda om
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...