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.
- 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.
sudo apt-get namestite nano
- V terminalsko okno vnesite naslednji ukaz, če želite trenutni imenik spremeniti v imenik nginx.
- Zdaj vnesite nano privzeto ali ime datoteke, povezano z domeno, da spremenite nastavitve domene.
- 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žnikposluš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žnikposluš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žnikposluš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žnikposluš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.
- Preprosto uporabite naslednji ukaz v terminalu Linux, da preizkusite privzeto konfiguracijsko datoteko, če je rezultat dober, nadaljujte z naslednjim korakom.
- Za ponovni zagon spletnega strežnika Nginx uporabite enega od naslednjih ukazov. Ukaz je odvisen od imena in različice distribucijskega sistema Linux.
sudo service nginx ponovno naloži
sudo / etc / init.d / nginx ponovno naloži