Nginx

Ako presmerovať adresy URL v Nginx

Ako presmerovať adresy URL v Nginx
Nginx je ľahký webový server, ktorý sa často používa ako reverzný proxy server, webový server a nástroj na vyrovnávanie zaťaženia. Nginx predvolene prichádza s mnohými užitočnými funkciami a ďalšie je možné pri inštalácii pridať ako moduly. Zámerom tejto príručky je ukázať, ako používať Nginx na presmerovanie adries URL rôznymi smermi. Aj keď Nginx poskytuje nepreberné množstvo funkcií na presmerovanie adries URL, táto príručka používa zlomok z nich, pretože jej zámerom je naučiť pri presmerovaní adries URL iba tie základné. Oblasti pokryté v tejto príručke sú nepresmerované nezabezpečené adresy URL (port 80) na zabezpečenú verziu, presmerovanie žiadosti na adresu IP na názov domény a nakoniec všetky ďalšie subdomény, domény na hlavnú doménu.

Predbežné požiadavky

Najskôr táto príručka predpokladá, že používateľ má v počítači nainštalovaného správneho klienta SSH, ak tak neurobíte a nainštalujete Putty ako klienta, potom použite nasledujúce príkazy. Okrem toho je potrebný aj Nginx, Nano editor.

  1. Zadaním nasledujúcich príkazov nainštalujte textový editor Nano. Prvý príkaz pomáha načítať najnovšie balíčky z úložísk a druhý príkaz nainštaluje najnovšiu verziu nano textového editora.
sudo apt-get aktualizácia
sudo apt-get nainštalovať nano
  1. V okne terminálu zadajte nasledujúci príkaz na zmenu aktuálneho adresára na adresár nginx.
cd / etc / nginx / sites-available
  1. Teraz napíš nano default alebo názov súboru spojeného s doménou, aby sa zmenili nastavenia domény.
  2. Odteraz pokračujte podľa jedného z nasledujúcich segmentov.

Presmerovanie z HTTP (port 80)

Google, Bing a mnoho ďalších vyhľadávacích nástrojov dnes uprednostňuje webové stránky so šifrovaným pripojením. Ak je spojenie medzi klientom a serverom šifrované, údaje prenášané prostredníctvom tohto konkrétneho spojenia sú zabezpečené, a teda tretie strany k nim nemôžu získať prístup. Ak pripojenie nie je šifrované, sú tieto weby nezabezpečené, a tým ohrozuje bezpečnosť údajov. Nezabezpečená webová stránka používa na poskytovanie svojich služieb verejnosti port 80. Bohužiaľ, webový prehliadač sa predvolene pripája k portu 80, pretože webový server predpokladá, že to klient predvolene požaduje, a preto musí byť požiadavka presmerovaná na zabezpečenú verziu. Existuje niekoľko spôsobov, ako to dosiahnuť pomocou Nginxu.

Metóda 1

Ak je aktuálny názov domény k dispozícii a ak prijíma požiadavky od klientov, je možné ich presmerovať do inej domény pomocou nasledujúceho útržku kódu. Jednoducho ho skopírujte do predvoleného súboru alebo do súboru domény.

Predvolený parameter servera určuje, že tento blok servera je predvoleným serverom, a preto akékoľvek požiadavky na port 80 vykonajú tento serverový blok najskôr v predvolenom nastavení a potom nasleduje zvyšok. V zátvorke sa uvádza, že zachytáva aj požiadavky zo sietí ipv6. Návrat 310 znamená, že presmerovanie je trvalé, a teda spolu s ním prechádza aj šťava z odkazu.

server
počúvať 80 default_server;
počúvať [::]: 80 default_server;
doména_servera.com www.doména.com;
vrátiť 301 https: // doména.com $ request_uri;

Metóda 2

Ak aktuálny server nemá pripojenú žiadnu webovú stránku a požiadavkou je presmerovanie akýchkoľvek požiadaviek na port 80, možno použiť nasledujúci blok servera. Skopírujte ho do predvoleného súboru, ako je uvedené vyššie. Tu _ (podčiarknutie) znamená akúkoľvek doménu. Rovnako ako predtým, parameter default_server, aj tu je možné použiť zátvorky (pre adresy IPv6) ako voliteľné atribúty.

server
počúvať 80 default_server;
názov servera _;
návrat 301 https: // $ host $ request_uri;

Metóda 3

Nasledujúci úryvok kódu znamená, že ak pripojenie nie je šifrované, čo znamená, že port 80 prijíma požiadavky, potom bude presmerovaný na zabezpečenú verziu zadanej domény. Toto by malo byť skopírované kamkoľvek v bloku servera , ale za parameter server_name.

ak ($ ​​schéma != "https")
návrat 301 https: // $ host $ request_uri;

Presmerovanie z adresy IP

Na rozdiel od zdieľaného hostiteľa majú dedikované servery aj virtuálne súkromné ​​servery vždy pridelenú vyhradenú adresu IP. Ak je webový server nakonfigurovaný na Nginx s podčiarknutím (čo znamená, že server spracuje každú požiadavku), potom akákoľvek požiadavka na IP adresu získa prístup aj na webovú stránku. Prístup na webovú stránku prostredníctvom adresy IP nie je niečo, čo chce každý webový majster z rôznych dôvodov. Na druhej strane, ak sa spracuje každá žiadosť, používatelia so zlým úmyslom môžu k webovému serveru priradiť ľubovoľnú náhodnú doménu, čo nie je dobré pre názov značky alebo podniku, a preto je dôležité spracovávať iba žiadosti týkajúce sa konkrétnych domén alebo a IP adresa. Tento segment v týchto prípadoch demonštruje, ako spracovať požiadavky na adresu IP webového servera. Použitie tohto bloku kódu spolu s jedným z vyššie uvedených blokov kódu (okrem metódy 2 predchádzajúceho riešenia) zabezpečí každú požiadavku na obidve domény a adresa IP bude presmerovaná do požadovaného cieľa.

Ako už bolo povedané, skopírujte nasledujúci útržok kódu do predvoleného súboru Nginx (predbežné požiadavky, 3. krok). Namiesto použitia názvu domény v parametri názov_servera jednoducho použite adresu IP servera a v ďalšom riadku použite príkaz „vrátiť doménu 301“ na miesto, kde je požiadavka presmerovaná. Teraz, keď je serveru doručená žiadosť o túto konkrétnu adresu IP, je presmerovaná na uvedenú doménu. Najlepším príkladom je to, keď náhodný používateľ napíše adresu IP webového servera, aby získal priamy prístup na stránku. Ak nasledujúci úryvok kódu nie je uvedený nikde v predvolenom súbore, nespracuje sa žiadna požiadavka na adresu IP; používatelia preto nemôžu získať prístup na webovú stránku prostredníctvom adresy IP.

server
počúvať 80;
počúvať [::]: 80;
počúvať 443 ssl http2;
počúvať [::]: 443 ssl http2;
názov_serveru 192.168.1.1;
návrat 301 https: // nucuta.com;

Presmerovanie z ktorejkoľvek inej domény

Toto riešenie je rovnaké ako prvé riešenie v tejto príručke, ibaže tiež presmeruje požiadavky na port 443 webového servera, čo znamená, že zabezpečené aj nezabezpečené požiadavky sú presmerované na uvedenú doménu v parametri return. Ako už bolo povedané, jednoducho to skopírujte do predvoleného súboru.

server
počúvať 80;
počúvať [::]: 80;
počúvať 443 ssl http2;
počúvať [::]: 443 ssl http2;
doména_servera.com www.doména.com;
návrat 301 https: // nucuta.com;

Finalizácia

Po vykonaní jedného z vyššie uvedených riešení je potrebné zostaviť súbor nginx, aby sa prejavila jeho konfigurácia. Pred kompiláciou je však potrebné otestovať predvolený súbor, pretože tak zabráni zlyhaniu webového servera v prípade chyby v konfigurácii.

  1. Na otestovanie predvoleného konfiguračného súboru jednoducho použite nasledujúci príkaz v termináli Linux, výsledok je dobrý, pokračujte ďalším krokom.
sudo nginx -t
  1. Pomocou jedného z nasledujúcich príkazov reštartujte webový server Nginx. Príkaz závisí od názvu a verzie distribúcie systému Linux.
sudo systemctl restart nginx
sudo služba nginx znovu načítať
sudo / etc / init.znovu načítať d / nginx
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...