Nginx

Sådan omdirigeres webadresser i Nginx

Sådan omdirigeres webadresser i Nginx
Nginx er en letvægts webserver, som også ofte bruges som en reverse proxy, webserver og en load balancer. Nginx kommer som standard med mange nyttige funktioner, og mere kan tilføjes som moduler, når det installeres. Denne vejledning har til hensigt at demonstrere, hvordan man bruger Nginx til at omdirigere webadresser til forskellige retninger. Selvom Nginx giver en overflod af funktioner til at omdirigere webadresser, bruger denne vejledning en brøkdel af dem, da det kun er hensigten at lære de væsentlige i URL-omdirigering. Områderne, der er omfattet af denne vejledning, er omdirigere usikre URL-adresser (port 80) til den sikre version, omdirigere en anmodning til IP til et domænenavn og endelig omdirigere andre underdomæner, domæner til hoveddomænet.

Forudsætninger

Først og fremmest antager denne guide, at brugeren har en ordentlig SSH-klient, der var installeret på computeren, hvis ikke fortsæt og installer Putty som klient, så brug følgende kommandoer. Derudover kræves det også at have Nginx, Nano-editor.

  1. Skriv følgende kommandoer for at installere Nano-teksteditor. Den første kommando hjælper med at hente de nyeste pakker fra arkiverne, og den anden kommando installerer den nyeste version af nano-teksteditor.
sudo apt-get opdatering
sudo apt-get install nano
  1. Skriv følgende kommando i terminalvinduet for at ændre det aktuelle bibliotek til nginx-biblioteket.
cd / etc / nginx / sites-tilgængelig
  1. Skriv nu nano-standard eller filens navn tilknyttet domænet for at ændre indstillingerne for domænet.
  2. Siden nu skal du følge et af følgende segmenter for at fortsætte.

Omdirigering fra HTTP (Port 80)

Google, Bing og mange andre søgemaskiner favoriserer i dag websteder med en krypteret forbindelse. Når forbindelsen mellem klienten og serveren er krypteret, er dataene, der transmitteres gennem den pågældende forbindelse, sikre, og dermed er tredjeparter ikke i stand til at få adgang til disse data. Når forbindelsen ikke er krypteret, er sådanne websteder usikre, og det bringer dermed datasikkerheden i fare. Usikker hjemmeside bruger port 80 til at levere sine tjenester til offentligheden. Desværre forbinder webbrowseren som standard med port 80, da webserver antager, at det er, hvad klienten ønsker som standard, og derfor skal anmodningen omdirigeres til den sikre version. Der er flere måder at få det gjort med Nginx.

Metode 1

Hvis det aktuelle domænenavn er tilgængeligt, og hvis det modtager anmodninger fra klienter, kan de omdirigeres til et andet domæne med følgende kodestykke. Du skal blot kopiere den til standardfilen eller filen til domænet.

Standardserverparameter angiver, at denne serverblok er standardserveren, hvorfor alle anmodninger til port 80 udfører denne serverblok først som standard, og hvile følger derefter. Parentesen betyder, at den også fanger anmodninger fra ipv6-netværk. Retur 310 betyder, omdirigering er permanent, og således ledes saft sammen med den.

server
lyt 80 standard_server;
lyt [::]: 80 default_server;
servernavn domæne.com www.domæne.com;
returner 301 https: // domæne.com $ request_uri;

Metode 2

Hvis den aktuelle server ikke har tilknyttet et websted, og kravet omdirigerer anmodninger til port 80, kan følgende serverblok bruges. Kopier den til standardfilen som tidligere nævnt. Her angiver _ (understregning) ethvert domæne. Som tidligere kan standard_server-parameter også parenteser (for IPv6-adresser) som valgfri attributter bruges her.

server
lyt 80 standard_server;
server navn _;
returner 301 https: // $ host $ request_uri;

Metode 3

Følgende kodestykke betyder, at hvis forbindelsen ikke er krypteret, hvilket betyder port 80, der modtager anmodninger, omdirigeres de til en sikker version af det angivne domæne. Dette skal kopieres til hvor som helst i serverens blok, men efter parameteren servernavn.

hvis ($ skema != "https")
returner 301 https: // $ host $ request_uri;

Omdirigering fra IP-adressen

I modsætning til en delt vært har både dedikerede servere og virtuelle private servere altid en dedikeret IP-adresse tildelt. Hvis webserveren er konfigureret med Nginx med understregning (hvilket betyder, at server behandler hver anmodning), får enhver anmodning til IP-adressen også adgang til webstedet. At have adgang til webstedet via en IP-adresse er ikke noget, som enhver webmaster ønsker af forskellige årsager. På den anden side, hvis hver anmodning behandles, kan ondsindede brugere knytte ethvert tilfældigt domæne til webserveren, hvilket ikke er godt for navnet på mærket eller virksomheden, og det er derfor vigtigt kun at behandle anmodninger til specifikke domæner eller og IP-adresse. Dette segment demonstrerer i sådanne tilfælde, hvordan man behandler anmodninger til webserverens IP-adresse. Brug af denne kodeblok sammen med en af ​​ovenstående kodeblokke (undtagen metode 2 i den tidligere løsning) sikrer enhver anmodning til begge domæner, og IP omdirigeres til den ønskede destination.

Som nævnt ovenfor skal du kopiere følgende kodestykke til standardfilen af ​​Nginx (forudgående krav, 3. trin). I stedet for at bruge navnet på domænet i parameteren servernavn, skal du blot bruge serverens IP-adresse, og i næste linje skal du bruge "returner 301-domæne" til det sted, hvor anmodningen omdirigeres. Nu når en anmodning til denne bestemte IP-adresse modtages til serveren, omdirigeres den til det angivne domæne. Et bedste eksempel på det er, når en tilfældig bruger skriver web-serverens IP for at få direkte adgang til webstedet. Hvis følgende kodestykke ikke er angivet nogen steder i standardfilen, behandles enhver anmodning til IP ikke; derfor er brugerne ikke i stand til at få adgang til webstedet via IP-adressen.

server
lyt 80;
lyt [::]: 80;
lyt 443 ssl http2;
lyt [::]: 443 ssl http2;
servernavn 192.168.1.1;
returnere 301 https: // nucuta.com;

Omdirigering fra ethvert andet domæne

Denne løsning er den samme som den første løsning i denne vejledning, bortset fra at den også omdirigerer anmodninger til webserverens 443-port, hvilket betyder, at både sikrede og usikrede anmodninger omdirigeres til det angivne domæne i returparameter. Som sagt tidligere, skal du blot kopiere dette til standardfilen.

server
lyt 80;
lyt [::]: 80;
lyt 443 ssl http2;
lyt [::]: 443 ssl http2;
servernavn domæne.com www.domæne.com;
returnere 301 https: // nucuta.com;

Afslutning

Efter at have fulgt en af ​​ovenstående løsninger skal nginx-filen kompileres for at få sin konfiguration i kraft. Standardfilen skal dog testes inden kompilering, da den forhindrer webserveren i at gå ned, hvis der var en fejl i konfigurationen.

  1. Brug blot følgende kommando i Linux-terminalen til at teste standardkonfigurationsfilen, hvis resultatet er godt, fortsæt til næste trin.
sudo nginx -t
  1. Brug en af ​​følgende kommandoer til at genstarte Nginx-webserveren. Kommandoen afhænger af navnet og versionen af ​​Linux distro.
sudo systemctl genstart nginx
sudo service nginx genindlæses
sudo / etc / init.d / nginx genindlæses
Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...
Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...