Nginx

Kako preusmeriti URL-je v Nginxu

Kako preusmeriti URL-je v Nginxu
Nginx je lahek spletni strežnik, ki se pogosto uporablja tudi kot povratni strežnik proxy, spletni strežnik in izravnalnik obremenitve. Nginx ima privzeto veliko uporabnih funkcij, ob namestitvi pa jih je mogoče dodati še kot module. Namen tega vodiča je predstaviti, kako uporabljati Nginx za preusmerjanje URL-jev v različna navodila. Čeprav Nginx ponuja številne funkcije za preusmerjanje URL-jev, ta priročnik uporablja del njih, saj je njihov namen pri preusmerjanju URL-jev poučiti samo tiste bistvene. Področja, zajeta v tem priročniku, preusmerijo nezavarovane URL-je (vrata 80) na njegovo zaščiteno različico, preusmerijo zahtevo na IP na ime domene in nazadnje preusmerijo vse druge poddomene, domene na glavno domeno.

Predpogoji

Najprej ta priročnik predvideva, da ima uporabnik v računalniku nameščenega ustreznega odjemalca SSH. Če ne, namestite Putty kot odjemalca, nato uporabite naslednje ukaze. Poleg tega potrebujete urejevalnik Nginx in Nano.

  1. Vnesite naslednje ukaze za namestitev urejevalnika besedil Nano. Prvi ukaz pomaga pri pridobivanju najnovejših paketov iz skladišč, drugi ukaz pa namesti najnovejšo različico urejevalnika besedil nano.
posodobitev sudo apt-get
sudo apt-get namestite nano
  1. V terminalsko okno vnesite naslednji ukaz, če želite trenutni imenik spremeniti v imenik nginx.
cd / etc / nginx / sites-available
  1. Zdaj vnesite nano privzeto ali ime datoteke, povezano z domeno, da spremenite nastavitve domene.
  2. Od zdaj naprej nadaljujte z enim od naslednjih segmentov.

Preusmeritev s HTTP (vrata 80)

Google, Bing in številni drugi iskalniki dandanes dajejo prednost spletnim mestom s šifrirano povezavo. Ko je povezava med odjemalcem in strežnikom šifrirana, so podatki, ki se prenašajo po tej povezavi, varni, zato tretje osebe ne morejo dostopati do teh podatkov. Kadar povezava ni šifrirana, taka spletna mesta niso varna in s tem ogrožajo varnost podatkov. Nevarno spletno mesto uporablja vrata 80 za zagotavljanje svojih storitev javnosti. Na žalost se spletni brskalnik privzeto poveže z vrati 80, saj spletni strežnik domneva, da odjemalec to privzeto želi, zato je treba zahtevo preusmeriti na svojo zaščiteno različico. Z Nginxom lahko to storite na več načinov.

1. metoda

Če je trenutno ime domene na voljo in če prejema zahteve od odjemalcev, jih je mogoče z naslednjim delčkom kode preusmeriti na drugo domeno. Preprosto ga kopirajte v privzeto datoteko ali datoteko domene.

Privzeti parameter strežnika določa, da je ta strežniški blok privzeti strežnik, zato vse zahteve do vrat 80 privzeto najprej izvršijo ta strežniški blok, nato pa sledi preostanek. V oklepaju pomeni, da zajema tudi zahteve iz omrežij ipv6. Vrnitev 310 pomeni, da je preusmeritev trajna in s tem prehaja sok povezave.

strežnik
poslušaj 80 default_server;
poslušaj [::]: 80 privzeti strežnik;
ime strežnika.com www.domena.com;
vrni 301 https: // domena.com $ request_uri;

2. metoda

Če trenutni strežnik nima priloženega spletnega mesta in zahteva preusmeritev kakršnih koli zahtev na vrata 80, potem lahko uporabite naslednji blok strežnika. Kopirajte ga v privzeto datoteko, kot je bilo navedeno prej. Tu _ (podčrtaj) pomeni katero koli domeno. Tako kot prej je tudi tukaj mogoče uporabiti parameter default_server, oklepaje (za naslove IPv6), kot so izbirni atributi.

strežnik
poslušaj 80 default_server;
ime_strežnika _;
vrni 301 https: // $ host $ request_uri;

3. metoda

Naslednji delček kode označuje, če povezava ni šifrirana, kar pomeni, da vrata 80 prejemajo zahteve, nato pa so preusmerjene na varno različico določene domene. To je treba kopirati kamor koli v bloku strežnika , vendar za parametrom ime_strežnika.

if ($ shema != "https")
vrni 301 https: // $ host $ request_uri;

Preusmeritev z naslova IP

Za razliko od skupnega gostitelja imajo namenski strežniki in navidezni zasebni strežniki vedno dodeljeni namenski naslov IP. Če je spletni strežnik konfiguriran z Nginxom s podčrtajem (kar pomeni, da strežnik obdela vsako zahtevo), potem vsaka zahteva na naslov IP dobi tudi dostop do spletnega mesta. Dostop do spletnega mesta prek naslova IP ni nekaj, kar si vsak spletni mojster želi iz različnih razlogov. Po drugi strani pa lahko zlonamerni uporabniki, če je vsaka zahteva obdelana, katero koli naključno domeno povežejo s spletnim strežnikom, kar ni dobro za ime blagovne znamke ali podjetja, zato je pomembno, da obdelujemo samo zahteve za določene domene ali in in IP naslov. Ta segment v takih primerih prikazuje, kako obdelati zahteve na naslov IP spletnega strežnika. Uporaba tega bloka kode skupaj z enim od zgornjih blokov kode (razen metode 2 prejšnje rešitve) zagotavlja vsako zahtevo v obe domeni, IP pa je preusmerjen na želeni cilj.

Kot rečeno zgoraj, kopirajte naslednji delček kode v privzeto datoteko Nginxa (predhodne zahteve, 3. korak). Namesto da uporabite ime domene v parametru ime_strežnika, preprosto uporabite naslov IP strežnika, nato pa v naslednji vrstici uporabite "vrni domeno 301", kamor se zahteva preusmeri. Zdaj, ko je zahteva na ta določen naslov IP prejeta na strežnik, je preusmerjena na navedeno domeno. Najboljši primer za to je, ko naključni uporabnik vpiše IP spletnega strežnika za neposreden dostop do spletnega mesta. Če naslednji delček kode ni nikjer naveden v privzeti datoteki, se nobena zahteva za IP ne obdeluje; zato uporabniki ne morejo dostopati do spletnega mesta prek naslova IP.

strežnik
poslušaj 80;
poslušaj [::]: 80;
poslušaj 443 ssl http2;
poslušaj [::]: 443 ssl http2;
ime strežnika 192.168.1.1;
vrni 301 https: // nucuta.com;

Preusmeritev iz katere koli druge domene

Ta rešitev je enaka prvi rešitvi tega vodnika, le da preusmerja zahteve tudi na vrata 443 spletnega strežnika, kar pomeni, da se tako zaščitene kot nezavarovane zahteve v parametru return preusmerijo na navedeno domeno. Kot že rečeno, preprosto kopirajte to v privzeto datoteko.

strežnik
poslušaj 80;
poslušaj [::]: 80;
poslušaj 443 ssl http2;
poslušaj [::]: 443 ssl http2;
ime strežnika.com www.domena.com;
vrni 301 https: // nucuta.com;

Dokončanje

Po uporabi ene od zgornjih rešitev je treba datoteko nginx prevesti, da začne veljati njena konfiguracija. Vendar je treba pred pripravo privzete datoteke preizkusiti, saj preprečuje zrušitev spletnega strežnika, če je prišlo do napake v konfiguraciji.

  1. Preprosto uporabite naslednji ukaz v terminalu Linux, da preizkusite privzeto konfiguracijsko datoteko, če je rezultat dober, nadaljujte z naslednjim korakom.
sudo nginx -t
  1. Za ponovni zagon spletnega strežnika Nginx uporabite enega od naslednjih ukazov. Ukaz je odvisen od imena in različice distribucijskega sistema Linux.
sudo systemctl znova zaženite nginx
sudo service nginx ponovno naloži
sudo / etc / init.d / nginx ponovno naloži
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...
Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...