Co je reverzní proxy
Stručně řečeno, reverzní proxy server funguje jako zprostředkovatelská služba mezi klientem požadujícím zdroj, jako je HTTP stránka, a jedním nebo více servery. Použití reverzního proxy umožňuje řadu výhod, jako je lepší výkon, vyvažování zátěže, transparentní serverová údržba serverů za reverzním proxy serverem, lepší zabezpečení a další.
Základní scénář
V této části nastavíme základní reverzní proxy pomocí webového serveru Nginx na Debian Linuxu. Budeme provozovat dva samostatné servery server1
a server2
. Server1 používá Debian Linux s reverzním proxy serverem Nginx a IP adresou 10.1.1.251
. Server2 provozuje základní web pomocí webového serveru Apache2 na IP adrese 10.1.1.252
. Předpokládáme, že Server2 je v provozu a slouží k poskytování obsahu na portu 80:
$ lynx -dump http://10.1.1.252 Hello this is apache2 sitting on host 10.1.1.252
V důsledku toho se naše hlavní zaměření bude věnovat Serveru1 a konfiguraci reverzního proxy serveru Nginx, aby fungoval jako prostředník mezi klientem a Serverem2.
Minimální reverzní konfigurace proxy
Tato část ukáže minimalistickou konfiguraci reverzního proxy, kterou lze později vylepšit, aby vyhovovala vašemu prostředí. Začněme nginx
instalace:
# apt-get install nginx
Dále zakážeme výchozího virtuálního hostitele:
# unlink /etc/nginx/sites-enabled/default
Dále vytvořte nový soubor v /etc/nginx/sites-available
adresář pro uložení konfigurace reverzního proxy, např. reverse-proxy
s následujícím obsahem:
server { listen 80; location / { proxy_pass http://10.1.1.252; } }
Výše uvedená konfigurace reverzního proxy je naprosto minimalistická a samovysvětlující. Hlavní funkcí je proxy_pass
direktiva, která dává pokyn nginx
pro proxy všechny požadavky komunikující na soketu 10.1.1.251:80
do vzdálené zásuvky 10.1.1.252:80
.Ujistěte se, že váš nginx
konfigurace neobsahuje žádné chyby a restartujte nginx
.
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # service nginx restart
V této fázi byste měli být schopni dotazovat se na svůj nový reverzní proxy na IP adrese 10.1.1.251
a dosáhnout obsahu apache2
běžící na IP adrese 10.1.1.251
:
$ lynx -dump http://10.1.1.251 Hello this is apache2 sitting on host 10.1.1.252
Jakmile bude výše uvedená základní konfigurace reverzního proxy funkční nginx
obsahuje řadu dalších direktiv pro zlepšení vaší konfigurace.