GNU/Linux >> Znalost Linux >  >> Ubuntu

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

Co je reverzní proxy?

Standardní proxy server pracuje jménem klientů, často poskytováním soukromí nebo filtrováním obsahu. Reverzní proxy pracuje jménem serveru, zachycuje provoz a směruje jej na samostatný server.

Existuje několik důvodů, proč byste mohli chtít nainstalovat reverzní proxy. Jedním z hlavních důvodů je soukromí.

Pokud máte více serverů, reverzní proxy může pomoci vyrovnat zatížení mezi servery a zlepšit výkon. Protože reverzní proxy poskytuje klientům jediný kontaktní bod, může centralizovat protokolování a sestavování na více serverech.

Nginx může zlepšit výkon rychlým poskytováním statického obsahu a předáváním požadavků na dynamický obsah serverům Apache.

Tato příručka vám pomůže nainstalovat a nakonfigurovat reverzní proxy Nginx ve vašem systému.

Předpoklady

  • Server Linux s Apache, PHP a firewallem
  • Přístup k uživateli root pomocí sudo přístup
  • Příkazový řádek nebo terminál systému Linux (CtrlAltT pro Ubuntu AltF2 pro CentOS)
  • Správce balíčků (např. APT)

Nastavení reverzního proxy serveru Nginx

Krok 1:Nainstalujte Nginx z výchozích úložišť

Otevřete okno terminálu a zadejte následující:

sudo apt-get update

Umožněte správci balíčků dokončit aktualizaci seznamů softwaru a poté zadejte následující:

sudo apt-get install nginx

Nechte proces dokončit.

Krok 2 (volitelný):Nainstalujte Nginx z oficiálního úložiště

Přidat bezpečnostní klíč

V okně terminálu zadejte následující:

sudo wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

Tím se stáhne podpisový klíč pro Nginx, který ověří, že stahujete autentický software.

Otevřete sources.list Soubor k úpravě

V terminálu zadejte následující:

sudo vi /etc/apt/sources.list

Přidat zdroje Nginx do seznamu úložiště

Zadejte následující řádky do /etc/apt/sources.list soubor, který jste právě otevřeli:

deb https://nginx.org/packages/mainline/debian/ <CODENAME> nginx

deb-src https://nginx.org/packages/mainline/debian/ <CODENAME> nginx

Nahraďte <CODENAME> s kódovým názvem vaší distribuce Debianu.

Uložit soubor a ukončete .

Nainstalujte nejnovější verzi Nginx

Chcete-li nainstalovat nejnovější verzi Nginx, použijte příkazy:

sudo apt-get remove nginx-common
sudo apt-get update
sudo apt-get install nginx

Krok 3:Spusťte Nginx a nakonfigurujte jej pro spuštění při restartu

Chcete-li spustit Nginx:

sudo systemctl start nginx

Chcete-li povolit Nginx:

sudo systemctl enable nginx

Chcete-li zkontrolovat, zda Nginx běží:

sudo systemctl status nginx

Výstup by vám měl ukázat, že služba je aktivní (běžící) , jako na obrázku níže:

Krok 4:Odpojení výchozího konfiguračního souboru

V terminálu zadejte následující:

sudo unlink /etc/nginx/sites-enabled/default

Krok 5:Vytvořte nový konfigurační soubor

Chcete-li vytvořit nový konfigurační soubor, zadejte:

cd /etc/nginx/sites-available/
sudo vi custom_server.conf

Nahraďte custom_server se jménem, ​​které je pro vás smysluplné. Do nového souboru zadejte:

server {

listen 80;

location / {

proxy_pass http://my_server;

}

}

Toto je velmi základní příklad reverzního proxy serveru Nginx. Nginx je nastaven tak, aby naslouchal veškerému provozu na portu 80 pro veškerý provoz.

proxy_pass příkaz přesměruje veškerý provoz na portu 80 na http://my_server . Stačí změnit http://my_server na místo podle vašeho výběru a Nginx zachytí požadavky klientů a nasměruje je na místo, které určíte. Po dokončení uložte soubor a ukončete.

Krok 6:Propojit a aktivovat konfigurační soubor

Chcete-li aktivovat nový soubor Nginx, zadejte:

ln -s /etc/nginx/sites-available/custom_server.conf 
/etc/nginx/sites-enabled/custom_server.conf

Jako obvykle nahraďte custom_server s názvem konfiguračního souboru, který jste vytvořili v kroku 5.

Krok 7:Otestujte a restartujte Nginx

Test Nginx:

sudo service nginx configtest

Restartování Nginx:

sudo service nginx restart

Volitelné možnosti konfigurace Nginx

Vyrovnávací paměti proxy

Ve výchozím nastavení Nginx ukládá do vyrovnávací paměti provoz pro servery, pro které používá proxy. Vyrovnávací paměti zlepšují výkon serveru, protože odpověď serveru není odeslána, dokud klient nedokončí odesílání kompletní odpovědi.

Chcete-li vyrovnávací paměť vypnout, otevřete konfigurační soubor z kroku 5. V části umístění/sekce , přidejte následující:

proxy_buffering off;

Záhlaví požadavků

Záhlaví poskytují serveru informace o provedených požadavcích nebo o klientovi.

Nginx předefinuje dvě pole záhlaví:host je nakonfigurován pro $proxy_host a connection je nakonfigurován pro close . Pokud tato záhlaví používáte, nezapomeňte změnit chování v konfiguračním souboru.

Pokud jsou některé řetězce záhlaví prázdné, Nginx tato pole jednoduše odstraní.

Chcete-li změnit způsob, jakým Nginx zpracovává heathers, použijte následující příkazy v konfiguračním souboru:

location / {

proxy_set_header Host $host;

}

Tento příklad říká Nginxu, aby nastavil host na $host proměnná.

Chcete-li zabránit předání pole záhlaví serveru proxy, použijte prázdný řetězec takto:

location / {

proxy_set_header header-variable "";

}

Vyrovnávání zátěže

Konfigurační soubor můžete použít ke směrování provozu na několik serverů. Chcete-li použít tuto konfiguraci, váš konfigurační soubor bude vypadat podobně jako v tomto příkladu:

http   {

server   {

proxy_pass http://my_server

}

}

Jinými slovy, konfigurace HTTP jde mimo konfiguraci serveru z kroku 5.

Chcete-li vytvořit název pro skupinu serverů, použijte upstream příkaz:

http   {

upstream server_group   {

server my.server1.com weight=3;

server my.server2.com;

}

server  {

location / {

proxy_pass http://server_group;

}

}

}

Toto označení zahrnuje dva servery – my.server1.com a my.server2.com – a spojí je dohromady. Nginx zastupuje tuto skupinu serverů pod názvem http://server_group . Můžete je přejmenovat, jak chcete.

Tento příklad používá weight příkaz pro směrování tří požadavků na my.server1.com a poté 1 požadavek na my.server2.com . Toto je jedna z možností, jak ručně vyrovnat zatížení klienta mezi servery. Jinou metodou je jednoduše vynechat jakékoli označení, ve kterém Nginx bude požadavky rovnoměrně sbírat mezi uvedenými servery.


Ubuntu
  1. Jak nastavit reverzní proxy Nginx

  2. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  3. Nastavit Nginx jako reverzní proxy na Ubuntu 20.04 – průvodce krok za krokem?

  1. Jak nakonfigurovat Nginx Reverse Proxy pro Kibana

  2. Jak nasadit NGINX Reverse Proxy na Docker

  3. Jak nastavím curl, aby trvale používal proxy?

  1. Jak nainstalovat Nginx na Ubuntu 16.04

  2. Jak nainstalovat Varnish Reverse Proxy s Nginx na Ubuntu 16.04 LTS

  3. Jak nainstalovat Nginx jako Reverse Proxy pro Apache na Ubuntu 15.10