Nginx

Hvordan omdirigere nettadresser i Nginx

Hvordan omdirigere nettadresser i Nginx
Nginx er en lett web-server, som ofte brukes som en omvendt proxy, webserver og en lastbalanser. Nginx kommer som standard med mange nyttige funksjoner, og mer kan legges til som moduler når den blir installert. Denne guiden har til hensikt å demonstrere hvordan du bruker Nginx til å omdirigere nettadresser til forskjellige retninger. Selv om Nginx tilbyr en mengde funksjoner for å omdirigere nettadresser, bruker denne guiden en brøkdel av dem, da det bare er å lære de viktigste i URL-omdirigering. Områdene som er dekket i denne håndboken er omdirigere usikre (port 80) URL-er til den sikre versjonen, omdirigere en forespørsel til IP-en til et domenenavn, og til slutt omdirigere eventuelle andre underdomener, domener til hoveddomenet.

Forutsetningskrav

Først og fremst antar denne veiledningen at brukeren har en riktig SSH-klient hadde installert på datamaskinen, hvis ikke fortsett og installer Putty som klient, bruk deretter følgende kommandoer. I tillegg, med Nginx, er Nano-editor også påkrevd.

  1. Skriv inn følgende kommandoer for å installere Nano-teksteditor. Den første kommandoen hjelper til med å hente de nyeste pakkene fra arkivene, og den andre kommandoen installerer den nyeste versjonen av nano teksteditor.
sudo apt-get oppdatering
sudo apt-get install nano
  1. Skriv inn følgende kommando i terminalvinduet for å endre den nåværende katalogen til nginx-katalogen.
cd / etc / nginx / sites-tilgjengelig
  1. Skriv nå nano standard eller filnavnet som er knyttet til domenet for å endre innstillingene til domenet.
  2. Siden nå følger du ett av følgende segmenter for å fortsette.

Viderekobling fra HTTP (Port 80)

Google, Bing og mange andre søkemotorer favoriserer i dag nettsteder med kryptert tilkobling. Når forbindelsen mellom klienten og serveren er kryptert, er dataene som overføres gjennom den aktuelle forbindelsen sikre, og dermed er tredjeparter ikke i stand til å få tilgang til disse dataene. Når forbindelsen ikke er kryptert, er slike nettsteder usikre, og det bringer dermed sikkerheten til dataene i fare. Usikker nettside bruker port 80 for å tilby sine tjenester til publikum. Dessverre kobles nettleseren som standard til port 80, da webserveren antar at det er det klienten ønsker som standard, og dermed må forespørselen omdirigeres til den sikre versjonen. Det er flere måter å få det gjort med Nginx.

Metode 1

Hvis det nåværende domenenavnet er tilgjengelig, og hvis det mottar forespørsler fra klienter, kan de omdirigeres til et annet domene med følgende kodebit. Bare kopier den til standardfilen eller filen til domenet.

Standard serverparameter spesifiserer at denne serverblokken er standardserveren, og derfor forespørsler til port 80 utfører denne serverblokken først som standard, og hvile følger deretter. Parentesen betyr at den også fanger forespørsler fra ipv6-nettverk. Retur 310 betyr at viderekoblingen er permanent, og dermed blir lenkesaft sendt sammen med den.

server
hør 80 standard_server;
hør [::]: 80 standard_server;
server_name-domene.com www.domene.com;
returner 301 https: // domene.com $ request_uri;

Metode 2

Hvis den nåværende serveren ikke har noe nettsted tilknyttet, og kravet er å omdirigere forespørsler til port 80, kan følgende serverblokk brukes. Kopier den til standardfilen som nevnt tidligere. Her angir _ (understreking) ethvert domene. Som tidligere, standard_server-parameter, kan parenteser (for IPv6-adresser) som valgfrie attributter også brukes her.

server
hør 80 standard_server;
Server navn _;
returner 301 https: // $ host $ request_uri;

Metode 3

Følgende kodebit betyr at hvis forbindelsen ikke er kryptert, noe som betyr at port 80 mottar forespørsler, blir de omdirigert til en sikker versjon av det angitte domenet. Dette skal kopieres til hvor som helst i serverblokken , men etter parameteren servernavn.

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

Viderekobling fra IP-adressen

I motsetning til en delt vert har både dedikerte servere og virtuelle private servere alltid en dedikert IP-adresse tildelt. Hvis webserveren er konfigurert med Nginx med understreking (som betyr at server behandler hver forespørsel), får enhver forespørsel til IP-adressen også tilgang til nettstedet. Å ha tilgang til nettstedet via en IP-adresse er ikke noe alle webansvarlige ønsker av forskjellige årsaker. På den annen side, hvis hver forespørsel blir behandlet, kan ondsinnede brukere knytte ethvert tilfeldig domene til webserveren, noe som ikke er bra for navnet på merket eller virksomheten, og det er derfor viktig å bare behandle forespørsler til bestemte domener eller og IP adresse. Dette segmentet viser i slike tilfeller hvordan man behandler forespørsler til IP-adressen til webserveren. Ved å bruke denne kodeblokken sammen med en av kodeblokkene ovenfor (unntatt metode 2 i forrige løsning), sikres hver forespørsel til begge domenene, og IP blir omdirigert til ønsket destinasjon.

Som sagt ovenfor, kopier følgende kodebit til standardfil av Nginx (forhåndskrav, tredje trinn). I stedet for å bruke domenenavnet i parameteren servernavn, bruk bare IP-adressen til serveren, og bruk deretter "returner 301-domenet" til den neste linjen der forespørselen blir omdirigert i neste linje. Nå når en forespørsel til denne bestemte IP-adressen mottas til serveren, blir den omdirigert til det oppgitte domenet. Et beste eksempel på det er når en tilfeldig bruker skriver IP-adressen til webserveren for å få tilgang til nettstedet direkte. Hvis følgende kodebit ikke er oppgitt hvor som helst i standardfilen, blir ikke enhver forespørsel til IP behandlet; Derfor kan ikke brukerne få tilgang til nettstedet via IP-adressen.

server
hør 80;
hør [::]: 80;
hør 443 ssl http2;
hør [::]: 443 ssl http2;
servernavn 192.168.1.1;
returner 301 https: // nucuta.com;

Omdirigere fra ethvert annet domene

Denne løsningen er den samme som den første løsningen i denne veiledningen, bortsett fra at den også omdirigerer forespørsler til 443-porten på webserveren, noe som betyr at både sikrede og usikrede forespørsler blir omdirigert til det oppgitte domenet i returparameter. Som sagt tidligere, bare kopier dette til standardfilen.

server
hør 80;
hør [::]: 80;
hør 443 ssl http2;
hør [::]: 443 ssl http2;
server_name-domene.com www.domene.com;
returner 301 https: // nucuta.com;

Avsluttende

Etter å ha fulgt en av de ovennevnte løsningene, må nginx-filen kompileres for å få konfigurasjonen til å tre i kraft. Standardfilen må imidlertid testes før den kompileres, da den forhindrer at webserveren krasjer hvis det var en feil i konfigurasjonen.

  1. Bare bruk følgende kommando i Linux-terminalen for å teste standardkonfigurasjonsfilen, resultatet er bra, fortsett til neste trinn.
sudo nginx -t
  1. Bruk en av følgende kommandoer for å starte Nginx-webserveren på nytt. Kommandoen avhenger av navnet og versjonen av Linux distro.
sudo systemctl start nginx på nytt
sudo service nginx reload
sudo / etc / init.d / nginx lastes inn på nytt
Send og motta UDP-pakker via Python
Vi vet allerede om to hovedtransportlagsprotokoller som TCP og UDP. For mer informasjon om TCP og UDP kan du sjekke referansedelen.  I denne artikkele...
Python vs NodeJS Sammenligning
Med teknologien som utvikler seg så raskt, har det nå blitt nødvendig å velge riktig sett med verktøy å jobbe med. Hvert programvareprosjekt har flere...
Hvordan filtrere en liste over strenger i Python
Python bruker listedatatype til å lagre flere data i en sekvensiell indeks. Det fungerer som et numerisk utvalg av andre programmeringsspråk. filter (...