Přejít na hlavní obsah
Sleva 50% všechny plány, omezený čas. Od $2.48/mo
14 min left
Web a firemní aplikace

Nginx Proxy Manager na VPS: recenze a průvodce nastavením

C Autor: Chike 14 min čtení
Nginx Proxy Manager on a VPS routing one public IP to Dashboard, Media Server, Database, and Blog containers over HTTPS

Máte VPS s pěti nebo šesti Docker službami: Nextcloud, Uptime Kuma, blog na Ghost, možná Vaultwarden. Jednu veřejnou IP. A chcete každou z nich na vlastní subdoméně s HTTPS, aniž byste při každém přidání kontejneru ručně upravovali konfigurační soubory Nginx. To je přesně ten problém, který Nginx Proxy Manager řeší.

Toto je recenze i kompletní nastavení Nginx Proxy Manager na VPS v jednom průvodci. Nginx Proxy Manager (NPM) je Docker aplikace, která obaluje Nginx do webového UI: subdomény směrujete na backendové kontejnery a certifikáty Let's Encrypt vyžadujete přes dashboard místo ručního psaní direktiv. Průvodce je určen pro self-hostery a sysadminy, kteří již provozují Docker a nyní potřebují reverzní proxy, jež nevyžaduje zásah do nginx.conf.

Nakonec budete vědět, zda NPM vyhovuje vašemu případu, budete jej mít spuštěný s HTTPS na svém VPS a budete znát kritéria pro přechod na Caddy nebo Traefik, když NPM přestane být tím správným nástrojem.

Zkrácená verze

  • Co je NPM: Docker aplikace, která nasazuje webové UI nad Nginx pro správu proxy hostů a automatické HTTPS přes Let's Encrypt. Hodí se lidem, kteří chtějí GUI a provozují malý, poměrně statický stack služeb.
  • Kompromisy: konfigurace je uložena v SQLite databázi, takže ji nelze verzovat ani porovnávat jako konfigurační soubor. K 12. červenci 2026 je nejnovější označené vydání zasaženo CVE-2026-40519, takže nová nasazení by měla počkat na označené vydání obsahující opravu. Jeho administrační panel na portu 81 je hlavní věc, kterou musíte zabezpečit.
  • Dimenzování: Samotný NPM v klidu spotřebovává kolem 50 MB RAM. VPS s 1 GB je praktický základ; 2 GB je pohodlných, jakmile přidáte služby za ním.
  • Kdy přejít jinam: zůstaňte u NPM pro malý, převážně statický stack, kde záleží na GUI. Použijte Caddy, když chcete konfiguraci jako kód a menší stopu. Použijte Traefik, když časté změny kontejnerů činí automatické objevování v Dockeru cennějším než manuální registraci hostů.

Co tento průvodce nepokrývá

Toto je průvodce nasazením na VPS, nikoli referenční příručka. Aby zůstal zaměřený, následující jsou mimo rozsah:

  • Hluboké přizpůsobení direktiv Nginx (vlastní location bloky nad rámec toho, co zpřístupňuje UI NPM).
  • Architektura vyvažování zátěže ve velkém měřítku.
  • Srovnání Kubernetes ingress.
  • NPM na Windows.
  • Cesta přes Cloudflare Tunnel pro nastavení bez statické IP.

Co Nginx Proxy Manager umí (a kde vás zaskočí)

Nginx Proxy Manager taking one public IP and routing subdomains such as app, status, cloud, and vault.example.com to separate backend containers, each with SSL enabled

Nginx Proxy Manager je Docker aplikace, která uvnitř provozuje Nginx a přidává nad něj webový dashboard. Vytváříte proxy hosty (subdoména na backendový kontejner a port) a certifikáty Let's Encrypt vyžadujete přes formuláře místo konfiguračních souborů. Hodí se pro malý, poměrně statický stack self-hostovaných aplikací na jednom VPS.

Nad rámec základů dashboard zvládá i přístupové seznamy a přeposílání surových TCP/UDP streamů. Pro stack aplikací na jednom VPS je to skutečné pohodlí: přidáte kontejner, otevřete dashboard, nasměrujete na něj subdoménu, kliknutím vydáte certifikát. Hotovo.

Hlavním kompromisem je, že autoritativní konfigurace NPM je ve výchozím nastavení uložena v SQLite databázi. NPM sice generuje čitelné soubory Nginx v /data/nginx/proxy_host/, ale tyto soubory jsou generované artefakty, nikoli deklarativní konfigurace, kterou upravujete a verzujete. Můžete si je prohlédnout, ale nejsou čistou náhradou za Caddyfile nebo Traefik labely a spolehlivým způsobem, jak nasazení reprodukovat, je obnovení datových a certifikátových volumes NPM. Pro malý statický stack to může být přijatelné. Pro infrastrukturní workflow řízené přes Git je to skutečné omezení.

K 12. červenci 2026 je nejnovější označené vydání verze v2.15.1, zveřejněná 3. června 2026. Projekt zůstává aktivní a pod licencí MIT, ale jeho aktuální bezpečnostní stav vyžaduje důležitou výhradu: NVD uvádí verze 2.9.14 až 2.15.1 jako zasažené CVE-2026-40519, autentizovanou zranitelností typu command injection opravenou v commitu a5db5ed , který ale zatím není zahrnut v novějším označeném vydání. Před nasazením zkontrolujte stránku vydání a použijte první označenou verzi, která tuto opravu obsahuje. NPM je udržován, ale v2.15.1 by v tuto chvíli neměla být popisována jako plně záplatovaná.

Co se týče stopy, NPM v klidu spotřebovává zhruba 50 MB RAM podle srovnání reverzních proxy od byte-guard. To je natolik nenáročné, že NPM téměř nikdy není tím, co zatěžuje váš VPS. Zatěžují jej služby za ním.

Můj pohled: NPM je rozumná volba pro rok 2026, pokud chcete GUI a provozujete malý Docker stack. Pokud žijete ve verzovacím systému a chcete konfiguraci proxy v Gitu, podívejte se raději na Caddy. Rozhodujícím faktorem je konfigurace opřená o SQLite, nikoli něco špatného na samotném proxování.

NPM vyměňuje přenositelnost konfigurace za GUI. Tento kompromis je v pořádku pro malý statický stack a otravný pro workflow řízené přes Git.

NPM vs Caddy vs Traefik: která reverzní proxy sedne vašemu VPS

NPM, Caddy, and Traefik compared: NPM is a GUI for small static stacks at about 50 MB idle, Caddy is config-as-code for simple deployments at about 30 MB, and Traefik uses Docker auto-discovery for changing containers at about 80 MB

Tyto tři nástroje se dělí podle čtyř os, které rozhodují o volbě: jak je konfigurujete, jak zvládají HTTPS, jak škálují s počtem služeb a kolik RAM spotřebují v klidu. Zde je srovnání.

AtributSprávce proxy NginxCaddyTraefik
Model konfiguraceWebové GUI, uloženo v SQLiteCaddyfile (text, verzovatelný)Docker labely / YAML
Automatické HTTPSAno, žádost pro každý host v UIAno, ve výchozím stavu, bez konfiguraceAno, vyžaduje konfiguraci ACME resolveru
Automatické objevování v DockeruNoNoAno, přes labely kontejnerů
RAM v klidu~50 MB~30 MB~80 MB
Nejvhodnější případUživatelé GUI, malé/statické stackyKonfigurace jako kód, nejnižší stopaDynamické Docker stacky s častými změnami kontejnerů

Údaje o RAM v klidu jsou přibližná pozorování z jednoho srovnání z roku 2026, nikoli pevné požadavky. Skutečné využití se liší podle verze image, zapnutých funkcí, provozu a logování.

Kritéria pro přechod vyplývají přímo z této tabulky. Pokud chcete dashboard a provozujete hrstku služeb, které se často nemění, NPM je ten správný nástroj. Pokud dáváte přednost konfiguraci jako kódu, chcete nejmenší stopu nebo oceňujete automatické zřizování a obnovu HTTPS bez jakéhokoli nastavení ACME v Caddy, použijte Caddy. Sám sahám po Caddy u nasazení s jedním webem, protože obsluha SSL je automatická a Caddyfile je krátký. Pokud často přidáváte, odebíráte nebo znovu nasazujete kontejnery, automatické objevování Traefiku založené na labelech znamená, že přestanete ručně registrovat každý nový host.

Existuje také holý Nginx s Certbotem, který někteří administrátoři preferují kvůli přesné kontrole nebo nasazením bez Dockeru. Certbot dokáže automatizovat obnovu certifikátů, ale směrování virtuálních hostů a konfiguraci Nginx si stále spravujete sami. Pokud je vaším hlavním důvodem pro zvažování NPM vyhnutí se manuální konfiguraci proxy, holý Nginx pravděpodobně nebude tou lepší volbou.

Jedna poznámka k volbě: srovnání od byte-guard označuje Caddy za nejlehčí možnost v tomto srovnání a pro nové nastavení na jednom hostiteli v roce 2026 je to rozumná volba. Caddy vítězí v tom, že je lehčí než NPM, ale pokud výslovně chcete GUI, není to vaše nejlepší volba.

Pro hlubší přímé srovnání základních enginů viz srovnání Caddy vs Nginx na VPS.

Předpoklady: co budete potřebovat

Než začnete nasazovat, mějte toto připravené. Je to krátký seznam, ale vynecháte-li kteroukoli položku, krok s certifikátem později selže.

  • VPS s nainstalovaným Dockerem a Docker Compose (Ubuntu 22.04 LTS nebo Debian 12 postačí).
  • Doménové jméno, s DNS A záznamem (a AAAA, pokud používáte IPv6) směřujícím na veřejnou IP vašeho VPS.
  • SSH přístup k VPS.
  • Porty 80 a 443 otevřené na firewallu do internetu.
  • Port 81 dostupný pouze vám, nikoli otevřený veřejnosti (probráno v sekci o zabezpečení).

Nastavení Nginx Proxy Manager na vašem VPS pomocí Docker Compose

Deploying Nginx Proxy Manager with Docker Compose: ports 80 and 443 public, the admin UI on port 81 bound to 127.0.0.1, and backend containers joined to a shared proxy Docker network

Tato sekce nasazuje NPM pomocí Docker Compose. Jakmile se vaše DNS záznamy překládají na VPS, samotné nastavení kontejneru je rychlé, i když propagace DNS a vydání certifikátu může trvat déle.

Nastavení používá jeden Docker Compose soubor a jednorázový příkaz k vytvoření sdílené Docker sítě. Vytvořte adresář, vytvořte síť, přidejte docker-compose.yml soubor níže a spusťte kontejner.

Nejprve vytvořte sdílenou Docker síť:

docker network create proxy

Poté vytvořte následující docker-compose.yml soubor:

# docker-compose.yml
services:
  npm:
    image: 'jc21/nginx-proxy-manager:<PATCHED_VERSION>'
    restart: unless-stopped
    ports:
      - '80:80'                 # public HTTP
      - '443:443'               # public HTTPS
      - '127.0.0.1:81:81'       # admin UI, reachable only from the VPS itself
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - proxy
networks:
  proxy:
    external: true

Připojte každý backendový kontejner, na který se NPM musí dostat podle názvu služby, ke stejné externí proxy síti. To umožňuje NPM přeložit kontejner podle jeho názvu služby, aniž by musel publikovat port backendové aplikace na VPS.

Zálohujte obě složky ./data a ./letsencrypt před upgrady. Datový adresář obsahuje databázi NPM a generovanou konfiguraci, zatímco adresář Let's Encrypt obsahuje jeho certifikátový materiál.

Několik věcí k tomuto souboru. Image ve výchozím nastavení používá SQLite databázi uloženou ve ./data volume. To je výchozí backend a je správný pro většinu nasazení na jednom VPS. Pokud potřebujete externí databázi, NPM podporuje MariaDB/MySQL a PostgreSQL, což znamená přidání databázové služby a odpovídajících proměnných prostředí. Pro jeden VPS je SQLite stále nejjednodušším výchozím řešením, pokud nemáte jasný důvod přesunout databázi mimo datový volume. Politika restart: unless-stopped znamená, že NPM se znovu spustí, pokud se VPS restartuje, což je přesně to, co chcete u služby, která stojí před vším ostatním.

Spusťte jej a ověřte, že běží:

docker compose up -d
docker compose ps

Očekávaný výstup: npm kontejner ve stavu Up, porty 80 a 443 veřejně namapované a port 81 navázaný pouze na 127.0.0.1. První spuštění trvá pár minut, zatímco NPM generuje JWT klíč, inicializuje databázi a vytváří výchozího admin uživatele. Oficiální dokumentace k nastavení popisuje tuto sekvenci prvního spuštění.

Před otevřením administračního rozhraní vytvořte z vašeho lokálního počítače SSH tunel:

ssh -L 8181:127.0.0.1:81 user@your-vps

Poté otevřete http://127.0.0.1:8181 ve svém prohlížeči. Při čerstvé instalaci se přihlaste pomocí [email protected] a changeme, poté okamžitě nahraďte výchozí e-mail a heslo. Nezpřístupňujte dashboard veřejně, dokud jsou aktivní výchozí přihlašovací údaje.

Jakmile změníte přihlašovací údaje administrátora, přidejte svého prvního proxy hosta:

  1. V dashboardu přejděte na Hosts, poté Proxy Hosts, poté Add Proxy Host.
  2. Nastavit Domain Name na vaši subdoménu (například cloud.example.com).
  3. Nastavit Forward Hostname / IP na název backendového kontejneru nebo IP a Forward Port na port, na kterém naslouchá.
  4. Uložte. Proxy host se objeví v seznamu a provoz na tuto subdoménu nyní dosáhne vašeho kontejneru.

Pokud vedle toho provozujete UI pro správu Dockeru, platí stejný postup: nasměrujte subdoménu na nástroj pro správu kontejnerů stejným způsobem a udělejte totéž pro monitorovacím stackem Prometheus a Grafana který chcete umístit za proxy.

Konfigurace automatického HTTPS pro subdoménu

Configuring automatic HTTPS in Nginx Proxy Manager: a DNS A record points the subdomain at the VPS, Let's Encrypt validates ownership over HTTP-01 on port 80 or DNS-01 for wildcards, and the certificate installs with Force SSL and HTTP/2 enabled

Tato sekce vám zajistí platný, automaticky obnovovaný certifikát Let's Encrypt pro vaši subdoménu. Předpokladem, na kterém lidé nejčastěji ztroskotají, je: DNS A záznam pro danou subdoménu už musí směřovat na váš VPS a port 80 musí být dostupný z internetu, protože Let's Encrypt ověřuje doménu tím, že se k ní zpětně připojí.

S vytvořeným proxy hostem vyžádejte certifikát:

  1. Upravte proxy hosta, otevřete SSL Kartu.
  2. Pod SSL Certifikátvyberte Request a new SSL Certificate.
  3. Povolit Force SSL a HTTP/2 Support. Zapněte HSTS až po ověření, že HTTPS funguje správně, protože prohlížeče mohou politiku ukládat do mezipaměti a ztížit tak zotavení z chyby v certifikátu nebo konfiguraci proxy.
  4. Odsouhlaste podmínky Let's Encrypt a uložte.

Ve výchozím nastavení používá NPM pro nezástupné (non-wildcard) názvy výzvu HTTP-01, přičemž ověřuje každý požadovaný hostname přes port 80. Certifikát může obsahovat více nezástupných názvů, ale HTTP-01 nedokáže vydávat wildcard certifikáty. Zástupné (wildcard) názvy jako *.example.com vyžadují výzvu DNS-01 s podporovaným DNS poskytovatelem. Pro běžné nastavení s jednou subdoménou na službu je HTTP-01 vše, co potřebujete, a obnovy jsou automatické.

Pokud žádost o certifikát selže, nejprve zkontrolujte port 80. Mezi časté příčiny patří nedostupný port 80, nesprávné pravidlo cloudového firewallu nebo bezpečnostní skupiny a DNS, jehož propagace ještě neskončila. Let's Encrypt nemůže ověřit doménu, na kterou se nedostane.

Zabezpečení administračního panelu NPM na VPS

Securing the Nginx Proxy Manager admin panel: public access to port 81 is blocked while admin access is allowed only through an SSH tunnel or private VPN to 127.0.0.1:81, with two-factor authentication and a patched version

Administrační rozhraní na portu 81 je hlavním rizikovým bodem nasazení NPM a tato sekce jej zabezpečuje. Jde o provozní zpevnění, nikoli bezpečnostní audit: tři věci, jednou provedené, a rizikový profil prudce klesne.

Za prvé a nejdůležitěji, ponechte port 81 navázaný na 127.0.0.1 jak je uvedeno v Docker Compose souboru. K dashboardu se dostaňte přes SSH tunel popsaný dříve. Pokud potřebujete trvalý vzdálený přístup, zpřístupněte administrační rozhraní pouze přes soukromou VPN. Nepublikujte port 81 na veřejné IP VPS.

Za druhé, povolte na svém admin účtu dvoufaktorovou autentizaci TOTP. NPM přidal 2FA založené na TOTP ve verzi 2.13.6, takže ji má každá aktuální instalace. Zapněte ji.

Za třetí, udržujte NPM záplatovaný a ověřte přesné vydání, místo abyste předpokládali, že tag latest je bezpečný. CVE-2026-40519 zasahuje verze 2.9.14 až 2.15.1 a může umožnit autentizované vzdálené spuštění kódu prostřednictvím škodlivých přihlašovacích údajů DNS poskytovatele. CVE-2026-50892 zasahuje v2.14.0 a může autentizovanému útočníkovi umožnit získat materiál soukromého klíče Let's Encrypt. Dřívější problém, CVE-2025-50579, zasáhl v2.12.3 kvůli chybě CORS, která mohla vystavit JWT tokeny. Praktické pravidlo je jednoduché: udržujte port 81 soukromý, povolte dvoufaktorovou autentizaci, připněte známou záplatovanou verzi a před upgradem ověřte bezpečnostní upozornění.

Port 81 zůstává soukromý a NPM zůstává záplatovaný. Udělejte tyto dvě věci a hlavní známá rizika se u běžného nastavení na jednom VPS stanou mnohem lépe zvladatelnými.

Dimenzování vašeho VPS pro Nginx Proxy Manager

Samotný NPM je nenáročný; otázka dimenzování se ve skutečnosti týká NPM plus služeb stojících za ním. Stopa proxy v klidu je jen zřídka omezením. Instance Nextcloud nebo blog na Ghost spotřebuje více zdrojů než samotná proxy.

Zde je, jak úrovně vycházejí v praxi:

  • Minimální praktický základ: 1 GB RAM, 1 vCPU a 10 GB úložiště. Jeden průvodce dimenzováním od třetí strany používá stejný základ, ale berte jej jako plánovací vodítko, nikoli oficiální požadavek NPM. Stačí pro NPM, operační systém a několik lehkých služeb, ale ponechává omezenou rezervu.
  • Pohodlné: 2 GB RAM, 1 vCPU, 20 GB úložiště. NPM plus tři až pět služeb s prostorem k dýchání. To je ideální bod pro většinu self-hosterů.
  • Vyšší úroveň: 4 GB RAM, 2 vCPU. Pro osm až dvanáct služeb nebo nastavení s významným provozem, kde chcete rezervu CPU pro ukončení TLS.

Číslo, podle kterého dimenzujete, je součet proxovaných aplikací, nikoli NPM. Sečtěte paměťové stopy služeb, které hodláte provozovat, přičtěte malou režii proxy v klidu a s rezervou zvolte úroveň nad tím.

Dimenzování serveru je ta snadná část. Zprovoznění NPM stále znamená zřídit VPS, nainstalovat Docker, stáhnout image a projít nastavením při prvním spuštění. Pokud byste raději přeskočili kroky zřizování, marketplace Cloudzy má na jedno kliknutí nasazení Nginx Proxy Manager na NVMe VPS. Postaví kontejner na čerstvém serveru, takže jdete rovnou k dashboardu a svému prvnímu proxy hostu. Ať tak či onak, dimenzujete podle výše uvedených úrovní.

Časté dotazy

Jaký je rozdíl mezi Nginx a Nginx Proxy Manager?

Nginx je samotný webový server a engine reverzní proxy, který konfigurujete úpravou textových souborů. Nginx Proxy Manager je Docker aplikace, která uvnitř provozuje Nginx a přidává nad něj webové UI, takže proxy hosty a certifikáty Let's Encrypt spravujete přes dashboard místo psaní konfiguračních souborů. NPM je vrstva GUI; Nginx je engine, který odvádí práci.

Vyplatí se Nginx Proxy Manager v roce 2026 stále používat?

Ano, pro uživatele preferující GUI, kteří provozují malý Docker stack, ale až poté, co ověříte, že nasazovaný image obsahuje nejnovější bezpečnostní opravy. K 12. červenci 2026 je v2.15.1 nejnovější označené vydání a NVD jej uvádí jako zasažené CVE-2026-40519. Pokud dáváte přednost konfiguraci jako kódu, Caddy zůstává lepší volbou; konfigurace NPM opřená o SQLite je jeho hlavním provozním omezením.

Jaké je minimum RAM pro Nginx Proxy Manager?

Samotný NPM v klidu spotřebovává zhruba 50 MB RAM. VPS s 1 GB je praktický základ, dostatečný pro NPM plus pár lehkých služeb. 2 GB je pohodlných, jakmile přidáte více proxovaných aplikací. Skutečný požadavek na RAM určují služby za NPM, nikoli NPM samotný.

Mám vystavit port 81 do internetu?

Ne. Ponechte port 81 navázaný na localhost a přistupujte k němu přes SSH tunel, nebo jej zpřístupněte pouze přes soukromou VPN. Nepublikujte administrační rozhraní na veřejné IP VPS.

Mohu provozovat Nginx Proxy Manager bez Dockeru?

Ne. NPM je distribuován a navržen jako Docker kontejner a neexistuje podporovaná instalace bez Dockeru. Pokud nemůžete nebo nechcete provozovat Docker, použijte místo něj holý Nginx s Certbotem nebo Caddy jako jediný binární soubor.

Podporuje Nginx Proxy Manager wildcard certifikáty?

Ano, prostřednictvím výzvy DNS-01 s nakonfigurovaným podporovaným DNS poskytovatelem. Standardní certifikáty pro jeden hostname používají výzvu HTTP-01 přes port 80; wildcard certifikáty (*.example.com) vyžadují DNS-01, protože certifikační autorita ověřuje kontrolu zápisem DNS záznamu, nikoli dosažením jednoho hostitele.

Sdílet

Další z blogu

Pokračuj ve čtení.

Hotov k nasazení? Od 2,48 $/měs.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dnů.