Více webů a aplikací na jedné VPS (Nginx)
Jak na jedné VPS provozovat několik domén a aplikací za Nginx jako reverse proxy, každou s HTTPS.
2 min čtení·Aktualizováno 28. října 2026
Na jedné VPS může běžet víc webů a aplikací najednou. Nginx naslouchá na portech 80 a 443 a podle domény pošle návštěvníka na správný web nebo aplikaci (reverse proxy). Nginx a Certbot nainstaluj podle návodu Web na VPS: Nginx a HTTPS.
1. Domény a porty
- Pro každou doménu i subdoménu vytvoř u správce domény A záznam na IP VPS (např.
web.cz,app.web.cz). - Každá aplikace má vlastní port (3000, 3001…) a poslouchá jen na
127.0.0.1. Zvenku se k ní dostane jen přes Nginx, takže porty aplikací ve firewallu neotevíráš.
2. Konfigurace pro aplikaci
Statický web nastavíš stejně jako v návodu Web na VPS. Pro aplikaci vytvoř /etc/nginx/sites-available/app.web.cz:
server {
listen 80;
listen [::]:80;
server_name app.web.cz;
client_max_body_size 20m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
Řádky Upgrade a Connection jsou kvůli WebSocketům (chat, živé přehledy). Proměnnou $connection_upgrade nadefinuj jednou pro všechny weby v /etc/nginx/conf.d/websocket.conf:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
3. Zapnutí a HTTPS
ln -s /etc/nginx/sites-available/app.web.cz /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d app.web.cz
Certbot spusť pro každou novou doménu. Certifikáty se pak obnovují samy.
Když něco nefunguje
| Příznak | Příčina |
|---|---|
| Na doméně je jiný web | překlep v server_name, nebo chybí odkaz v sites-enabled |
502 Bad Gateway | aplikace neběží nebo je na jiném portu – zkontroluj ss -tlnp |
413 Request Entity Too Large | zvyš client_max_body_size |
| Aplikace generuje odkazy s http místo https | zapni v ní důvěru k proxy (v Expressu app.set('trust proxy', 1)) |
Chyby Nginx najdeš v /var/log/nginx/error.log. Aplikace udržíš spuštěné přes PM2 nebo službu systemd.
VPS od 299 Kč měsíčně
Vlastní virtuální server s root přístupem pro cokoliv, co potřebujete.