GNU/Linux >> Znalost Linux >  >> Linux

Reverzní proxy s Nginx:Průvodce nastavením krok za krokem

Tento podrobný návod vám ukáže, jak můžete snadno nastavit reverzní proxy s Nginx pro zlepšení zabezpečení a výkonu.

Jedním z nejpopulárnějších reverzních proxy nástrojů je v současnosti Nginx. Ačkoli je Nginx samotný webový server, odvádí vynikající práci jako reverzní proxy.

Co je reverzní proxy?

Reverzní proxy je server, který se nachází mezi interními aplikacemi a externími klienty a přeposílá požadavky klientů na příslušný server.

Služba reverzního proxy funguje jako front-end, zpracovává všechny příchozí požadavky klientů a distribuuje je na back-endový web, databázi nebo jiné servery.

Použití Nginx jako reverzního proxy vám poskytuje několik dalších výhod:

  • Vyrovnávání zátěže – Nginx může provádět vyvažování zátěže pro distribuci požadavků klientů mezi proxy servery, čímž zlepšuje výkon, škálovatelnost a spolehlivost.
  • Vylepšené zabezpečení – S reverzním proxy serverem nebudou mít klienti informace o našich backendových serverech, takže neexistuje žádný způsob, jak by k nim žádný klient se zlými úmysly nemohl přímo přistupovat a zneužít jakékoli zranitelnosti. Z pohledu klienta to vypadá, jako by vše pocházelo z jednoho místa.
  • Lepší výkon – S Nginx jako reverzním proxy můžete uložit do mezipaměti předem vykreslené verze stránek, abyste urychlili dobu načítání stránky. Funguje tak, že ukládá do mezipaměti obsah přijatý z odpovědí proxy serverů a používá jej k odpovědi klientům, aniž by pokaždé kontaktovali proxy server kvůli stejnému obsahu.
  • Ukončení protokolu SSL – Nginx může fungovat jako koncový bod SSL pro připojení s klienty. Bude zpracovávat a dešifrovat příchozí připojení SSL a šifrovat odpovědi proxy serveru.

Jak Nastavit reverzní proxy s Nginx

1. Instalace Nginx

Nginx je nejoblíbenější sada webových serverů nasazená přes internet. Může fungovat jako reverzní proxy server přesměrováním webového provozu na konkrétní servery.

Dovolte mi, abych vám ukázal, jak nainstalovat Nginx na různé distribuce Linuxu.

Chcete-li nainstalovat Nginx na Debian, Ubuntu, Linux Mint, Kali a další deriváty Debianu nebo Ubuntu, spusťte následující příkazy:

sudo apt update
sudo apt install nginx

Na Fedoře, CentOS, Red Hat a dalších Fedoře nebo derivátech Red Hatu spusťte následující příkazy:

sudo dnf upgrade
sudo dnf install nginx

Chcete-li nainstalovat Nginx na Arch Linux, Manjaro a další deriváty Arch, spusťte následující příkazy:

sudo pacman -Syu
sudo pacman -S nginx

Po dokončení instalace můžete zkontrolovat, zda je Nginx nainstalován správně, kontrolou verze softwaru. Zadejte následující:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

2. Konfigurace Nginx

Nainstalovali jsme primární web na example.com název domény na stejném serveru, na kterém běží náš Nginx. Náš blogový web WordPress je však nainstalován na adrese blog.example.com subdoména na jiném serveru s IP adresou 127.0.1.10 .

Potřebujeme nakonfigurovat reverzní proxy s Nginx pro proxy požadavky pro blog.example.com subdoménu, takže všechny požadavky budou přesměrovány na 127.0.1.10 . Chcete-li to provést, postupujte podle kroků uvedených níže.

1. Zakažte výchozího předkonfigurovaného virtuálního hostitele Nginx:

unlink /etc/nginx/sites-enabled/default

2. Zadejte adresář /etc/nginx/sites-available a vytvořte soubor s konfigurací reverzního proxy.

cd /etc/nginx/sites-available
sudo vim example.conf

Vložte následující konfiguraci Nginx.

server {
        listen 80;
        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
}

server {
        listen 80;
        server_name blog.example.com;

        location / {
                proxy_pass http://127.0.1.10:80;
        }
}

Jak vidíte,  můžete pokračovat ve spouštění example.com na stejné instanci Nginx, ale Nginx přesměruje všechna příchozí připojení pro blog.example.com na portu 80 na 127.0.1.10 server, naslouchající na portu 80 .

3. Uložte soubor a poté jej aktivujte vytvořením symbolického odkazu:

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

4. Otestujte Nginx na případné chyby konfigurace:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5. Pokud nejsou žádné chyby, restartujte Nginx, aby se změny projevily:

sudo systemctl restart nginx

Spusťte webový prohlížeč a přejděte na adresu URL svého blogu WordPress. Přes Nginx budete přesměrováni na 127.0.1.10 , hostování vašeho blogu WordPress.

Gratulujeme, úspěšně jste nastavili Nginx, aby fungoval jako reverzní proxy. Nyní můžete směrovat provoz, který má směřovat na cílový server, na reverzní proxy server, který skončí ve správném cíli.

Další informace o všech reverzních proxy direktivách najdete v podrobném rejstříku direktiv Nginx.

Závěr

Nyní víte, jak nastavit reverzní proxy s Nginx. Jak můžete vidět, konfigurace reverzního proxy serveru Nginx je jednoduchý proces. Ale samozřejmě existuje mnoho způsobů, jak jej nainstalovat a nakonfigurovat, které zcela závisí na vašich požadavcích.


Linux
  1. Jak nastavit reverzní proxy Nginx

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

  3. Nastavte WSO2 s NGINX Reverse Proxy pro vlastní adresy URL

  1. Jak nainstalovat Odoo 10 na CentOS 7 s Nginx jako reverzní proxy

  2. Jak nainstalovat Flectru na Ubuntu 20.04 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Ubuntu 18.04 s Nginx jako reverzní proxy

  1. Jak nainstalovat Odoo 11 na CentOS 7 s Nginx jako reverzní proxy

  2. Jak nainstalovat Odoo 11 na Debian 9 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Debian 10 s Nginx jako reverzní proxy