Konfigurace Nginx jako reverzní Proxy serveru na virtuálním privátním serveru (VPS) může výrazně zlepšit bezpečnost, výkon a dostupnost vaší webové aplikace. Reverzní proxy působí jako prostředník mezi uživateli internetu a webovým serverem, což umožňuje další vrstvu abstrakce pro zpracování požadavků, cachování obsahu, šifrování SSL/TLS a mnoho dalšího. V tomto článku vás provedeme základní konfigurací NGINX jako reverzní proxy na VPS.
Předpoklady
- Přístup k VPS se systémem Linux.
- Nainstalovaný NGINX.
- Platná doména směřující na IP adresu vašeho VPS.
Instalace NGINX
Pokud ještě nemáte nainstalovaný NGINX, můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce. Pro Ubuntu/Debian použijte příkaz:
sudo apt update && sudo apt install nginx
Pro CentOS/RHEL můžete použít:
sudo yum install nginx
Konfigurace reverzní proxy
Vytvoření konfiguračního souboru pro vaši doménu
Vytvořte nový konfigurační soubor pro vaši doménu v adresáři /etc/nginx/sites-available/ a otevřete ho v textovém editoru:
-
sudo nano /etc/nginx/sites-available/vasedomena.com
Nastavení reverzní proxy
Do konfiguračního souboru vložte následující konfiguraci, přičemž vasedomena.com
nahraďte vaší doménou a localhost:3000
adresou a portem, na kterém běží vaše aplikace:
server {
listen 80;
server_name vasedomena.com www.vasedomena.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Aktivace konfigurace
Po uložení souboru aktivujte konfiguraci symbolickým odkazem do adresáře /etc/nginx/sites-enabled/:
sudo ln -s /etc/nginx/sites-available/vasedomena.com /etc/nginx/sites-enabled/
Test konfigurace a restart NGINX
Před restartem NGINX se ujistěte, že vaše konfigurace neobsahuje žádné syntaxové chyby:
sudo nginx -t
Pokud je konfigurace v pořádku, restartujte NGINX:
sudo systemctl restart nginx
Zabezpečení pomocí SSL/TLS
Pro zabezpečení vaší aplikace pomocí HTTPS je doporučeno nastavit SSL/TLS certifikáty, například pomocí Let's Encrypt a Certbotu.
-
Instalace Certbotu
sudo apt install certbot python3-certbot-nginx
-
Získání a instalace certifikátů
sudo certbot --nginx -d vasedomena.com -d www.vasedomena.com
Certbot automaticky upraví konfiguraci NGINX a přidá potřebná pravidla pro zabezpečení spojení.
Nastavení NGINX jako reverzní proxy na VPS může znatelně zlepšit bezpečnost, rychlost a spolehlivost vaší aplikace. Díky možnosti šifrování, cachování a distribuce zátěže přináší reverzní proxy mnoho výhod pro moderní webové aplikace. S návodem krok za krokem jste schopni tuto konfiguraci snadno provést a využít výhod, které NGINX nabízí.