Nginx

Kuidas suunata URL-e Nginxis

Kuidas suunata URL-e Nginxis
Nginx on kerge veebiserver, mida kasutatakse sageli ka vastupidise puhverserveri, veebiserveri ja koormuse tasakaalustajana. Nginx pakub vaikimisi palju kasulikke funktsioone ja selle installimisel saab moodulitena lisada rohkem. Selles juhendis kavatsetakse näidata, kuidas kasutada Nginxi URL-ide suunamiseks erinevatesse suundadesse. Kuigi Nginx pakub URL-ide ümbersuunamiseks paljusid funktsioone, kasutab see juhend neist murdosa, kuna kavatsetakse URL-ide ümbersuunamisel õpetada ainult olulisi. Selles juhendis käsitletavad alad on ebaturvaliste (port 80) URL-ide ümbersuunamine selle turvalisele versioonile, IP-päringu ümbersuunamine domeeninimele ja lõpuks kõigi muude alamdomeenide, domeenide suunamine põhidomeeni.

Eeltingimused

Esiteks eeldatakse selles juhendis, et kasutajal on arvutisse installitud õige SSH-klient, kui mitte minna ja installida kliendina Putty, siis kasutage järgmisi käske. Lisaks on vaja ka Nginxi, Nano-redaktorit.

  1. Nano tekstiredaktori installimiseks tippige järgmised käsud. Esimene käsk aitab hankida hoidlatest uusimaid pakette ja teine ​​käsk installib nano-tekstiredaktori uusima versiooni.
sudo apt-get värskendus
sudo apt-get install nano
  1. Sisestage terminaliaknas järgmine käsk, et muuta praegune kataloog nginx-kataloogiks.
cd / etc / nginx / sites-available
  1. Nüüd tippige nano vaikimisi või domeeniga seotud failinime domeeni sätete muutmiseks.
  2. Alates nüüd järgige jätkamiseks ühte järgmistest segmentidest.

Suunamine HTTP-st (port 80)

Google, Bing ja paljud teised otsingumootorid eelistavad tänapäeval krüpteeritud ühendusega veebisaite. Kui ühendus kliendi ja serveri vahel on krüptitud, on selle konkreetse ühenduse kaudu edastatavad andmed turvalised ja seega ei pääse kolmandad isikud nendele andmetele juurde. Kui ühendus pole krüpteeritud, on sellised saidid ebaturvalised ja seega ohustab see andmete turvalisust. Ebaturvaline veebileht kasutab avalikkuse teenuse osutamiseks porti 80. Kahjuks ühendub veebibrauser vaikimisi pordiga 80, kuna veebiserver eeldab, et klient soovib seda vaikimisi ja seega tuleb taotlus suunata selle turvatud versiooni. Nginxiga saate seda teha mitmel viisil.

1. meetod

Kui praegune domeeninimi on saadaval ja kui see saab klientidelt päringuid, saab need järgmise koodijupiga suunata teise domeeni. Kopeerige see lihtsalt vaikefaili või domeeni faili.

Serveri vaikeparameeter määrab, et see serveriplokk on vaikeserver, seega täidavad kõik taotlused pordile 80 esmalt vaikimisi selle serveriploki ja seejärel järgnevad ülejäänud. Sulg tähistab, et see haarab ka taotlusi ipv6 võrkudest. Tagasitulek 310 tähistab, ümbersuunamine on püsiv ja seega liigub koos sellega ka mahl.

server
kuulata 80 default_server;
kuula [::]: 80 default_server;
server_name domeen.com www.domeen.com;
tagastage 301 https: // domeen.com $ request_uri;

2. meetod

Kui praegusel serveril pole ühtegi veebisaiti ja nõue suunab kõik taotlused porti 80, saab kasutada järgmist serveriplokki. Kopeerige see vaikefaili, nagu varem öeldud. Siin tähistab _ (alakriips) mis tahes domeeni. Nagu varemgi, saab ka siin kasutada parameetrit default_server, sulgusid (IPv6-aadresside jaoks) nagu valikulisi atribuute.

server
kuulata 80 default_server;
serveri_nimi _;
tagastage 301 https: // $ host $ request_uri;

3. meetod

Järgmine koodijupp tähistab, kui ühendus pole krüpteeritud, see tähendab, et port 80 võtab vastu päringuid, seejärel suunatakse need määratud domeeni turvalisse versiooni. See tuleks kopeerida serveri ploki suvalisse kohta, kuid pärast parameetrit server_name.

kui (skeem $ != "https")
tagastage 301 https: // $ host $ request_uri;

Suunamine IP-aadressilt

Erinevalt jagatud hostist on mõlemale spetsiaalsele serverile ja virtuaalsele privaatserverile alati eraldatud spetsiaalne IP-aadress. Kui veebiserver on konfigureeritud Nginxiga alakriipsuga (mis tähendab, et server töötleb kõiki taotlusi), saab iga IP-aadressi taotlus juurdepääsu ka veebisaidile. IP-aadressi kaudu veebisaidile juurdepääsu omamine pole iga veebimeistri soovil erinevatel põhjustel. Teisest küljest võivad pahatahtlikud kasutajad iga päringu töötlemisel seostada veebiserveriga mis tahes juhusliku domeeni, mis ei sobi kaubamärgi ega ettevõtte nimele, ja seetõttu on oluline töödelda ainult konkreetseid domeene või IP-aadress. See segment näitab sellistel juhtudel, kuidas veebiserveri IP-aadressile päringuid töödelda. Selle koodiploki kasutamine koos ühe ülaltoodud koodiplokiga (välja arvatud eelmise lahenduse 2. meetod) tagab iga päringu mõlemale domeenile ja IP suunatakse soovitud sihtkohta.

Nagu eespool öeldud, kopeerige järgmine koodilõik Nginxi vaikefaili (eeltingimused, 3. samm). Selle asemel, et kasutada domeeni nime parameetris server_name, kasutage lihtsalt serveri IP-aadressi ja seejärel kasutage järgmisel real „return 301 domain” sinna, kuhu päringut suunatakse. Kui serverile saabub päring sellele konkreetsele IP-aadressile, suunatakse see määratud domeeni. Parim näide on see, kui juhuslik kasutaja sisestab veebisaidile otse saidile juurdepääsemiseks IP-i. Kui järgmist koodilõiku pole vaikefailis kusagil märgitud, ei töödelda ühtegi IP-le esitatud taotlust; seega ei pääse kasutajad IP-aadressi kaudu veebisaidile juurde.

server
kuulata 80;
kuulama [::]: 80;
kuulata 443 ssl http2;
kuulake [::]: 443 ssl http2;
serveri_nimi 192.168.1.1;
tagastage 301 https: // nucuta.com;

Ümbersuunamine mis tahes muult domeenilt

See lahendus on sama kui käesoleva juhendi esimene lahendus, välja arvatud see, et see suunab ka päringud veebiserveri 443 porti, mis tähendab, et nii turvatud kui ka tagamata päringud suunatakse vastuparameetriks määratud domeeni. Nagu varem öeldud, kopeerige see lihtsalt vaikefaili.

server
kuulata 80;
kuulama [::]: 80;
kuulata 443 ssl http2;
kuulake [::]: 443 ssl http2;
server_name domeen.com www.domeen.com;
tagastage 301 https: // nucuta.com;

Lõpetamine

Pärast ühe ülaltoodud lahenduse järgimist tuleb nginx-fail koostada, et selle konfiguratsioon jõustuks. Vaikefaili tuleb aga enne kompileerimist testida, kuna see takistab veebiserveri krahhi, kui konfiguratsioonis oli viga.

  1. Vaikimisi konfiguratsioonifaili testimiseks kasutage Linuxi terminalis lihtsalt järgmist käsku, nii et tulemus on hea jätkata järgmise sammuga.
sudo nginx -t
  1. Nginxi veebiserveri taaskäivitamiseks kasutage ühte järgmistest käskudest. Käsk sõltub Linuxi distributsiooni nimest ja versioonist.
sudo systemctl taaskäivitage nginx
sudo teenuse nginx uuesti laadimine
sudo / etc / init.d / nginx laadige uuesti
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...
0 A.D. Õpetus
Paljudest strateegiamängudest on 0 A.D. suudab silma paista põhjaliku tiitli ja väga sügava taktikalise mänguna, hoolimata sellest, et see on avatud l...