Nginx

Kā novirzīt URL Nginx

Kā novirzīt URL Nginx
Nginx ir viegls tīmekļa serveris, ko bieži izmanto kā reverso starpniekserveri, tīmekļa serveri un slodzes līdzsvarotāju. Nginx pēc noklusējuma piedāvā daudz noderīgu funkciju, un, instalējot to, moduļus var pievienot vēl vairāk. Šīs rokasgrāmatas mērķis ir parādīt, kā izmantot Nginx, lai novirzītu URL dažādos virzienos. Lai arī Nginx nodrošina daudz funkciju, lai novirzītu URL, šajā rokasgrāmatā tiek izmantota daļa no tām, jo ​​URL novirzīšanas mērķis ir iemācīt tikai būtiskākos. Šajā ceļvedī apskatītie apgabali ir nedrošo (80. porta) vietrāžu URL novirzīšana uz tā drošo versiju, pieprasījuma novirzīšana uz IP uz domēna vārdu un, visbeidzot, visu citu apakšdomēnu, domēnu novirzīšana uz galveno domēnu.

Iepriekšējas prasības

Pirmkārt, šajā rokasgrāmatā tiek pieņemts, ka lietotājam datorā ir instalēts pareizs SSH klients, ja ne uz priekšu un instalējiet Putty kā klientu, tad izmantojiet šādas komandas. Turklāt, ja jums ir Nginx, ir nepieciešams arī Nano redaktors.

  1. Ierakstiet šīs komandas, lai instalētu Nano teksta redaktoru. Pirmā komanda palīdz izgūt jaunākās paketes no krātuvēm, bet otrā komanda instalē jaunāko nano teksta redaktora versiju.
sudo apt-get atjauninājums
sudo apt-get install nano
  1. Termināla logā ierakstiet šādu komandu, lai mainītu pašreizējo direktoriju uz nginx direktoriju.
CD / etc / nginx / sites-available
  1. Tagad ierakstiet nano noklusējums vai faila nosaukums, kas saistīts ar domēnu, lai mainītu domēna iestatījumus.
  2. Kopš tagad sekojiet vienam no šiem segmentiem, lai turpinātu.

Novirzīšana no HTTP (80. ports)

Mūsdienās Google, Bing un daudzas citas meklētājprogrammas dod priekšroku vietnēm ar šifrētu savienojumu. Kad savienojums starp klientu un serveri ir šifrēts, dati, kas tiek pārsūtīti, izmantojot šo konkrēto savienojumu, ir droši, un tādējādi trešās personas nevar piekļūt šiem datiem. Ja savienojums nav šifrēts, šādas vietnes ir nedrošas, un tādējādi tas apdraud datu drošību. Nedrošā vietne izmanto 80. portu, lai sabiedrībai sniegtu savus pakalpojumus. Diemžēl pēc noklusējuma tīmekļa pārlūks izveido savienojumu ar 80 portu, jo tīmekļa serveris pieņem, ka klients to vēlas pēc noklusējuma, un tāpēc pieprasījums ir jānovirza uz tā drošo versiju. Ir vairāki veidi, kā to izdarīt ar Nginx.

1. metode

Ja pašreizējais domēna nosaukums ir pieejams un ja tas saņem pieprasījumus no klientiem, tos var novirzīt uz citu domēnu ar šādu koda fragmentu. Vienkārši nokopējiet to noklusējuma failā vai domēna failā.

Servera noklusējuma parametrs norāda, ka šis servera bloks ir noklusējuma serveris, tāpēc visi pieprasījumi 80. portam vispirms izpilda šo servera bloku pēc noklusējuma un pēc tam pārējie seko pēc tam. Iekavas nozīmē, ka tā uztver arī pieprasījumus no ipv6 tīkliem. Atgriešanās 310 nozīmē, ka novirzīšana ir pastāvīga, un līdz ar to tiek nodota saites sula.

serveris
noklausīties 80 default_server;
klausīties [::]: 80 default_server;
servera_nosaukums domēns.com www.domēns.com;
atgriezties 301 https: // domēns.com $ request_uri;

2. metode

Ja pašreizējam serverim nav pievienota vietne un prasība novirza pieprasījumus uz 80. portu, var izmantot šādu servera bloku. Kopējiet to noklusējuma failā, kā norādīts iepriekš. Šeit _ (pasvītrojums) apzīmē jebkuru domēnu. Tāpat kā iepriekš, default_server parametru, arī šeit var izmantot iekavas (IPv6 adresēm), piemēram, izvēles atribūtus.

serveris
noklausīties 80 default_server;
servera_nosaukums _;
atgriešanās 301 https: // $ resursdators $ request_uri;

3. metode

Šis koda fragments nozīmē, ja savienojums nav šifrēts, tas nozīmē, ka ports 80 saņem pieprasījumus, tad tie tiek novirzīti uz norādītā domēna drošu versiju. Tas ir jākopē uz jebkuru servera bloka vietu, bet pēc parametra server_name.

ja ($ shēma != "https")
atgriešanās 301 https: // $ resursdators $ request_uri;

Novirzīšana no IP adreses

Atšķirībā no koplietojamā resursdatora, gan speciālajiem serveriem, gan virtuālajiem privātajiem serveriem tam vienmēr ir piešķirta īpaša IP adrese. Ja tīmekļa serveris ir konfigurēts ar Nginx ar pasvītrojumu (tas nozīmē, ka serveris apstrādā katru pieprasījumu), tad jebkurš pieprasījums uz IP adresi iegūst piekļuvi arī vietnei. Piekļuve vietnei, izmantojot IP adresi, nav dažādu iemeslu dēļ, ko katrs tīmekļa meistars vēlas. No otras puses, ja katrs pieprasījums tiek apstrādāts, ļaunprātīgi lietotāji var saistīt jebkuru nejaušu domēnu ar tīmekļa serveri, kas nav labi zīmola vai uzņēmuma nosaukumam, un tāpēc ir svarīgi apstrādāt tikai pieprasījumus konkrētiem domēniem vai IP adrese. Šis segments šādos gadījumos parāda, kā apstrādāt pieprasījumus uz tīmekļa servera IP adresi. Izmantojot šo koda bloku kopā ar vienu no iepriekš minētajiem kodu blokiem (izņemot iepriekšējā risinājuma 2. metodi), tiek nodrošināts, ka katrs pieprasījums tiek nosūtīts uz abiem domēniem, un IP tiek novirzīts uz vēlamo galamērķi.

Kā jau minēts iepriekš, nokopējiet šo koda fragmentu noklusējuma failā Nginx (priekšnosacījumi, 3. darbība). Tā vietā, lai parametrā server_name izmantotu domēna nosaukumu, vienkārši izmantojiet servera IP adresi, pēc tam nākamajā rindā izmantojiet “return 301 domain” uz vietu, kur tiek novirzīts pieprasījums. Tagad, kad serveris saņem pieprasījumu uz šo konkrēto IP adresi, tas tiek novirzīts uz norādīto domēnu. Labākais piemērs tam ir gadījums, kad nejaušs lietotājs ievada tīmekļa servera IP, lai tieši piekļūtu vietnei. Ja noklusējuma failā nekur nav norādīts šis koda fragments, neviens pieprasījums uz IP netiek apstrādāts; tādējādi lietotāji nevar piekļūt vietnei, izmantojot IP adresi.

serveris
klausīties 80;
klausies [::]: 80;
klausieties 443 ssl http2;
klausies [::]: 443 ssl http2;
servera_nosaukums 192.168. lpp.1.1;
atgriešanās 301 https: // nucuta.com;

Novirzīšana no jebkura cita domēna

Šis risinājums ir tāds pats kā pirmais šīs rokasgrāmatas risinājums, izņemot to, ka tas arī novirza pieprasījumus uz tīmekļa servera 443 portu, tas nozīmē, ka gan nodrošinātie, gan nenodrošinātie pieprasījumi tiek novirzīti uz norādīto domēnu atgriešanās parametrā. Kā minēts iepriekš, vienkārši nokopējiet to noklusējuma failā.

serveris
klausīties 80;
klausies [::]: 80;
klausieties 443 ssl http2;
klausies [::]: 443 ssl http2;
servera_nosaukums domēns.com www.domēns.com;
atgriešanās 301 https: // nucuta.com;

Notiek pabeigšana

Pēc kāda no iepriekšminētajiem risinājumiem nginx fails ir jāapkopo, lai tā konfigurācija stātos spēkā. Tomēr pirms kompilēšanas ir jāpārbauda noklusējuma fails, jo tas novērš tīmekļa servera avāriju, ja konfigurācijā bija kļūda.

  1. Lai pārbaudītu noklusējuma konfigurācijas failu, vienkārši izmantojiet šo komandu Linux terminālī, tāpēc rezultāts ir labs, turpinot nākamo soli.
sudo nginx -t
  1. Izmantojiet vienu no šīm komandām, lai restartētu Nginx tīmekļa serveri. Komanda ir atkarīga no Linux izplatītāja nosaukuma un versijas.
sudo systemctl restartējiet nginx
sudo pakalpojums nginx pārlādēt
sudo / etc / init.d / nginx pārlādēt
10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...
5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...