Štandardný server proxy funguje iba podľa požiadaviek klienta poskytovaním filtrovania a ochrany obsahu. Keď hovoríme o reverznom serveri proxy, pracuje v mene požiadaviek servera a slúži na zachytenie a smerovanie prenosu na samostatný server. Táto funkcia proxy je užitočná na rozloženie záťaže a zvyšuje výkon medzi rôznymi dostupnými servermi. Ukazuje všetok obsah, ktorý berie z rôznych online stránok. Pomocou metódy proxy môžete odosielať žiadosti o spracovanie serverovým aplikáciám cez špecifikované protokoly iné ako HTTP.
Existuje mnoho dôvodov, prečo si môžete nainštalovať reverzný proxy server. Jedným z dôležitých dôvodov je ochrana súkromia obsahu. Metóda reverzného proxy poskytuje jediný centralizovaný bod pre kontakt s klientmi. Môže vám poskytnúť funkciu centralizovaného protokolovania a môže reportovať na niekoľkých serveroch. Nginx rýchlo spracuje statický obsah a odošle dynamické požiadavky na server Apache; táto funkcia zlepšuje celkový výkon.
V tomto článku sa dozvieme, ako nastaviť reverzný proxy server v Nginxe.
Predpoklady
Mali by ste mať prístup k účtu root alebo k používateľovi, ktorý môže spúšťať príkazy sudo.
Vytvorenie reverzného proxy servera Nginx
Pri nastavovaní nového servera proxy Nginx musíte vo svojom systéme postupovať podľa nasledujúcich krokov:
Krok 1: Nainštalujte Nginx
Otvorte aplikáciu terminálu a potom otvorte súbor / etc / apt / source.vo svojom obľúbenom textovom editore a potom na koniec tohto súboru pridajte riadky uvedené nižšie. V tomto riadku musíte nahradiť „CODENAME“ vydaním Ubuntu, ktoré používate vo svojom systéme. Napríklad máme Ubuntu 20.04 ohnisková jamka na tomto systéme. Sp, vložte Focal a nahraďte „CODENAME“.
deb http: // nginx.org / packages / mainline / ubuntu / CODENAME nginxdeb-src https: // nginx.org / packages / mainline / ubuntu /
Ďalej musíte importovať nasledujúci podpisový kľúč úložiska balíkov a potom ho pridať do úložiska apt:
$ sudo wget http: // nginx.org / keys / nginx_signing.kľúč$ sudo apt-key pridať nginx_signing.kľúč
Teraz aktualizujte balíčky správcu apt a nainštalujte do svojho systému najnovšie vydanie Nginx z oficiálneho úložiska apt spustením nasledujúceho príkazu:
$ sudo apt aktualizácia$ sudo apt nainštalovať nginx
Teraz spustite a povolte server Nginx pomocou nasledujúcich príkazov:
$ sudo systemctl start nginx$ sudo systemctl povoliť nginx
$ sudo systemctl status nginx
Krok 2: Konfigurácie reverzného proxy servera Nginx
Vytvorte nový konfiguračný súbor custom_proxy / etc / nginx / conf.d / custom_proxy.conf a potom do neho vložte nasledujúce riadky kódu:
serverpočúvať 80;
počúvať [::]: 80;
server_name myexample.com;
miesto /
proxy_pass http: // localhost: 3000 /;
Smernica „proxy_pass“ uvedená vo vnútri umiestnenia robí túto konfiguráciu ako reverzný proxy server. Tento riadok proxy_pass http: // localhost: 3000 / smeruje všetky požiadavky, ktoré sa zhodujú s koreňom umiestnenia / cestou, musí byť preposlaný na port 3000 na localhost, na ktorom je spustený web vašej domény.
Nový konfiguračný súbor aktivujete a prepojíte spustením nižšie uvedeného príkazu:
$ ln -s / etc / nginx / conf.d / custom_server.konfKrok 3: Vyskúšajte konfigurácie
Teraz otestujte vyššie uvedené konfigurácie pomocou nasledujúceho príkazu:
$ sudo nginx -tPo úspešnom otestovaní, ak nie je hlásená žiadna chyba, znovu načítajte novú konfiguráciu Nginx.
$ sudo nginx -s znovu načítaťKonfigurujte vyrovnávaciu pamäť
Vyššie uvedené konfigurácie stačia na vytvorenie základného reverzného proxy servera. ale pre zložité aplikácie musíte povoliť niektoré pokročilé možnosti, ktoré sú uvedené nižšie:
miesto /proxy_pass http: // localhost: 3000 /;
proxy_buffering vypnutý;
Hlavičky konfigurácie a požiadavky
miesto /proxy_pass http: // localhost: 3000 /;
proxy_set_header X-Real-IP $ remote_addr;
Vo vyššie uvedenom príklade $ remote_addr odošle IP adresu klienta na hostiteľa proxy.
Záver
Z vyššie uvedených podrobností môžete pochopiť, ako vytvoriť reverzný proxy server Nginx. Tento nástroj je vhodný pre niekoľko serverových prostredí. Vyskúšajte všetky tieto konfigurácie v systéme, aby ste lepšie porozumeli.