GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Nginx k přesměrování

Nginx (vyslovováno engine-x) je výkonný open source vysoce výkonný webový server HTTP. Může fungovat jako reverzní proxy nebo POP3/IMAP proxy. Je to třetí nejoblíbenější webový server a je dobře známý pro svůj zvýšený výkon, snadné použití a konfiguraci, stabilitu a minimální využití zdrojů. Proto vám v tomto tutoriálu ukážeme, jak používat Nginx k přesměrování provozu různými způsoby.

Podle Datanyze má Nginx 32% podíl na trhu webových serverů. Podporuje mnoho renomovaných webů, jako je Github, Netflix, CloudFlare, Hulu, Airbnb, Hulu, WordPress a mnoho dalších.

Přesměrování v Nginx

Schopnost předat URL webové stránky na jinou adresu nebo bod na základě vašich kritérií je základní funkcí webového serveru Nginx. Přesměrování Nginx je jednoduché a snadno se nastavuje. Uživatelé se často rozhodnou přesměrovat stránku, která má dobré hodnocení SEO. Například při přechodu z CMS na jinou platformu. To zcela změní složení vaší adresy URL. Abyste si tedy zachovali svou aktuální stránku na dobré pozici SERP, můžete přesměrovat starou adresu URL na novou stránku.

V tomto tutoriálu vás provedeme vytvořením dvou druhů přesměrování Nginx:trvalé a dočasné. Nezapomeňte mít na svém VPS nainstalovaný Nginx.

Vysvětlení dočasného a trvalého přesměrování Nginx

Dočasná přesměrování jsou výhodná, pokud je třeba dočasně změnit umístění stránky z jednoho místa na jiné. Kód odpovědi přesměrování 302 se používá k označení dočasného přesunu stránky.

Pokud je prováděna údržba webových stránek, používají se dočasná přesměrování, která upozorní uživatele, že web je nedostupný. Dalším příkladem je, když provedete dočasné přesměrování neúplné stránky; propojíte tuto stránku s jiným bodem nebo hlavní stránkou:

Návštěvník–> Stránka webu–> Web je v údržbě

Na druhou stranu trvalé přesměrování Nginx informuje webový prohlížeč, že by měl trvale propojit starou stránku nebo doménu s novým umístěním nebo doménou. Chcete-li tuto změnu namapovat, kód odpovědi přesměrování 301 se používá k označení trvalého pohybu stránky. Tyto druhy přesměrování jsou užitečné, když uživatel chce změnit název domény a již nechce, aby k ní měl přístup prohlížeč.

Například, když chcete změnit doménu svého webu nebo vytvořit novou stránku za starší:

Návštěvník–> Klikněte na www.devisers.in/home -> Přesměrováno na www. návrháři. in/home1

Přesměrování stránek v Nginx

Pamatujte, že nejprve musíte přistupovat ke svému VPS přes SSH. Pokud máte potíže, podívejte se na náš výukový program PuTTY.

V Nginx lze většiny přesměrování dosáhnout pomocí vestavěné funkce přepisování. Toto je výchozí funkce, která je k dispozici na čisté instalaci Nginx a může tvořit oba druhy přesměrování Nginx – tedy trvalé a dočasné. Ve své prosté formě to trvá minimálně dva případy, tj. stará adresa URL a nová adresa URL.

Je jednoduché a snadné přesměrovat stránky na dočasné nebo trvalé umístění na webovém serveru Nginx. V umístění /etc/ nginx/sites-enabled/default měli byste vložit následující kód a zároveň změnit proměnné tak, aby vyhovovaly vašim potřebám:

Location path_pattern {        
     rewrite ^/oldURL$ https://www.domainone.com/newURL redirect; 
}

Pokud chcete stránku přesměrovat na jiný odkaz trvale, jednoduše ve výše uvedeném příkazu použijte „permanent“ místo „redirect“. Mezitím je path_patern obvykle /index.html .

Nginx přesměrování domény

Pro přesměrování jedné domény na jinou použijte níže uvedený příkaz v terminálu:

server {
      listen 80;
      hostname devisers.in www.devisers.in;
      rewrite ^ http://www.devisers.com$request_uri? permanent;
}

Zde používáme dvě domény. Ten, který chceme přesměrovat – www.devisers.in, a nový – www.devisers.com.

Přesměrování Nginx z HTTP na HTTPS (SSL)

HTTP a HTTPS používají různé porty – HTTP port 80 a HTTPS port 443. Použití HTTPS je mnohem užitečnější, protože vás chrání před útoky MITM, které mohou unést vaši relaci. Pamatujte, že aby tato metoda fungovala, musíte mít již nastavené SSL. Pro ochranu všech informací zasílaných mezi vámi a vašimi návštěvníky je tedy výhodné přesměrovat všechny požadavky přicházející z HTTP na HTTPS. Za tímto účelem můžeme přidat tuto úpravu do stejného souboru:

server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}

Nyní je veškerý provoz pro výchozí server HTTP přesměrován na HTTPS.

Weby specifické pro přesměrování Nginx

To je nezbytné, pokud používáte různé weby nebo aplikace a chcete přesměrovat pouze jeden web. Postupujte podle následujících kroků:

server { 
listen 80; 
server_name devisers.in;
     return 301 https://devisers.in$request_uri; 
}

Zde přesměrováváme stránky http://www.devisers.in na https://www.devisers.in

Přesměrování z www na jiné než www

Mnohokrát chcete, aby vaši návštěvníci přistupovali k prosté doméně vaší webové stránky, jako je devisers.in namísto www.devisers.in. Přestože v Nginx existuje mnoho možností, jak přesměrovat z www na non-www, jedním ze snadných způsobů, jak to udělat, je ten, který je popsán níže:

server {
    server_name www.devisers.in;
    return 301 $scheme://devisers.in$request_uri;
}

Důležité! Toto je trvalé přesměrování nebo „přesměrování 301“.

Restartujte webový server Nginx, aby se změny projevily pomocí příkazu:

sudo systemctl restart Nginx

Pokud si přejete přesměrovat z non-www na www, jednoduše nahraďte adresy URL webu uvedené ve výše uvedeném příkazu. Nahraďte www.devisers.in za devisers.in a naopak.

Závěr

Nginx je jeden z nejvýkonnějších a nejsnáze použitelných webových serverů, který vám umožňuje provádět dočasná a trvalá přesměrování, jak je popsáno výše.

Nyní víte, jak vytvořit přesměrování Nginx z HTTP na HTTPS, z www nebo Non-www nebo naopak. Ujistěte se, že používáte správné typy přesměrování, protože nesprávná přesměrování ovlivní vaše hodnocení ve vyhledávání. Pomocí přesných přesměrování můžete využít svou současnou přítomnost na webu a podle potřeby změnit strukturu webu.

Doufáme, že vám tento tutoriál pomůže! Uvidíme se v příštím.


Linux
  1. Jak používám cron v Linuxu

  2. Jak povolit HTTP2 v NGINX

  3. jak používat pylint ve vim

  1. Jak používat BusyBox na Linuxu

  2. Jak zakázat ETag v NGINX

  3. Jak přesměrovat adresy URL pomocí Nginx

  1. Jak nastavit a používat NGINX jako reverzní proxy

  2. Jak používat Su Command v Linuxu

  3. Jak používat dos2unix?