Van egy VPS-ed öt-hat Docker szolgáltatással: Nextcloud, Uptime Kuma, egy Ghost blog, esetleg egy Vaultwarden. Egy nyilvános IP. És azt szeretnéd, hogy mindegyik a saját aldomainjén fusson HTTPS-sel, anélkül, hogy minden konténer hozzáadásakor kézzel kellene Nginx konfigurációs fájlokat szerkesztened. Pontosan ezt a problémát oldja meg az Nginx Proxy Manager.
Ez egy értékelés és egy teljes Nginx Proxy Manager VPS-beállítás egy útmutatóban. Az Nginx Proxy Manager (NPM) egy Docker alkalmazás, amely webes felületbe csomagolja az Nginxet: aldomaineket irányítasz backend konténerekhez, és a Let's Encrypt tanúsítványokat egy vezérlőpulton keresztül igényled ahelyett, hogy kézzel írnád a direktívákat. Az útmutató olyan saját üzemeltetőknek és rendszergazdáknak szól, akik már futtatnak Dockert, és most egy olyan reverse proxyra van szükségük, amelyhez nem kell hozzányúlni a következőhöz: nginx.conf.
A végére tudni fogod, hogy az NPM megfelel-e az esetednek, futni fog HTTPS-sel a VPS-eden, és ismerni fogod azokat a szempontokat, amelyek alapján a Caddyre vagy a Traefikre válthatsz, amikor az NPM már nem a megfelelő eszköz.
A rövid verzió
- Mi az NPM: egy Docker alkalmazás, amely webes felületet helyez az Nginx tetejére a proxy hostok és az automatikus Let's Encrypt HTTPS kezeléséhez. Azoknak való, akik grafikus felületet szeretnének, és egy kicsi, viszonylag statikus szolgáltatáskészletet futtatnak.
- A kompromisszumok: a konfiguráció egy SQLite adatbázisban él, így nem verziózható vagy diffelhető, mint egy konfigurációs fájl. 2026. július 12-én a legújabb címkézett kiadást érinti a CVE-2026-40519, ezért az új telepítéseknek egy olyan címkézett kiadásra kell várniuk, amely tartalmazza a javítást. A 81-es porton lévő adminfelülete a fő dolog, amit le kell zárnod.
- Méretezés: Maga az NPM üresjáratban körülbelül 50 MB RAM-ot használ. Egy 1 GB-os VPS a gyakorlati alapszint; 2 GB kényelmes, amint hozzáadod a mögötte lévő szolgáltatásokat.
- Mikor válts: maradj az NPM-nél egy kicsi, többnyire statikus stackhez, ahol a grafikus felület számít. Használd a Caddyt, ha kód formájában szeretnéd a konfigurációt és kisebb lábnyomot. Használd a Traefiket, amikor a gyakori konténerváltozások miatt a Docker automatikus felderítése értékesebb, mint a hostok manuális regisztrálása.
Mit nem fed le ez az útmutató
Ez egy VPS-telepítési útmutató, nem referencia-kézikönyv. Hogy fókuszált maradjon, a következők nem tartoznak a hatókörébe:
- Mélyreható Nginx direktíva-testreszabás (egyéni location blokkok azon túl, amit az NPM felülete elérhetővé tesz).
- Nagy léptékű terheléselosztási architektúra.
- Kubernetes ingress összehasonlítás.
- NPM Windowson.
- A Cloudflare Tunnel út a statikus IP nélküli beállításokhoz.
Mit csinál az Nginx Proxy Manager (és hol harap vissza)
Az Nginx Proxy Manager egy Docker alkalmazás, amely alul Nginxet futtat, felül pedig egy webes vezérlőpultot ad hozzá. Proxy hostokat hozol létre (aldomaint egy backend konténerre és portra), és a Let's Encrypt tanúsítványokat űrlapokon keresztül igényled konfigurációs fájlok helyett. Egy kicsi, viszonylag statikus, egy VPS-en futó saját üzemeltetésű alkalmazáskészlethez való.
Az alapokon túl a vezérlőpult hozzáférési listákat és nyers TCP/UDP stream-továbbítást is kezel. Egy VPS-en futó alkalmazáskészlethez ez valódi kényelem: hozzáadsz egy konténert, megnyitod a vezérlőpultot, ráirányítasz egy aldomaint, kattintasz egy tanúsítvány kiadásához. Kész.
A fő kompromisszum az, hogy az NPM elsődleges (source of truth) konfigurációja alapértelmezés szerint egy SQLite adatbázisban él. Az NPM valóban generál olvasható Nginx fájlokat a következő alatt: /data/nginx/proxy_host/, de ezek a fájlok generált termékek, nem az a deklaratív konfiguráció, amelyet szerkesztesz és verziózol. Megvizsgálhatod őket, de nem tiszta helyettesítői egy Caddyfile-nak vagy Traefik címkéknek, és a telepítés megbízható reprodukálásának módja az NPM adat- és tanúsítványköteteinek visszaállítása. Egy kicsi, statikus stackhez ez elfogadható lehet. Egy Git-vezérelt infrastruktúra-munkafolyamathoz valódi korlátozás.
2026. július 12-én a legújabb címkézett kiadás a v2.15.1, amelyet 2026. június 3-án tettek közzé. A projekt továbbra is aktív és MIT-licencű, de a jelenlegi biztonsági helyzete egy fontos kiegészítést igényel: az NVD a 2.9.14-től a 2.15.1-ig terjedő verziókat érintettként sorolja fel a CVE-2026-40519, egy hitelesített parancsinjektálási sebezhetőség, amelyet a következő commitban javítottak: a5db5ed de amelyet még nem foglaltak bele egy újabb címkézett kiadásba. Telepítés előtt ellenőrizd a kiadási oldalt, és használd az első olyan címkézett verziót, amely tartalmazza azt a javítást. Az NPM karbantartott, de a v2.15.1-et jelenleg nem szabad teljesen javítottként leírni.
Ami a lábnyomot illeti, az NPM üresjáratban körülbelül 50 MB RAM-ot használ a következő szerint: a byte-guard reverse proxy összehasonlítása. Ez elég könnyű ahhoz, hogy az NPM szinte soha ne az legyen, ami megterheli a VPS-edet. A mögötte lévő szolgáltatások azok.
A véleményem: az NPM 2026-ban ésszerű választás, ha grafikus felületet szeretnél, és egy kis Docker stacket futtatsz. Ha verziókövetésben élsz, és a proxykonfigurációdat Gitben szeretnéd, inkább nézd meg a Caddyt. Az SQLite-alapú konfiguráció a döntő tényező, nem az, hogy magával a proxyzással bármi baj lenne.
Az NPM a konfiguráció hordozhatóságát cseréli el egy grafikus felületért. Ez a csere rendben van egy kicsi, statikus stackhez, és bosszantó egy Git-vezérelt munkafolyamathoz.
NPM vs Caddy vs Traefik: melyik reverse proxy illik a VPS-edhez
A három eszköz négy tengely mentén válik el, amelyek eldöntik a választást: hogyan konfigurálod őket, hogyan kezelik a HTTPS-t, hogyan skálázódnak a szolgáltatások számával, és mennyi RAM-ot használnak üresjáratban. Íme az összehasonlítás.
| Attribútum | Nginx Proxy Manager | Caddy | Traefik |
|---|---|---|---|
| Konfigurációs modell | Webes grafikus felület, SQLite-ban tárolva | Caddyfile (szöveg, verziózható) | Docker címkék / YAML |
| Automatikus HTTPS | Igen, hostonként igénylés a felületen | Igen, alapértelmezés szerint, konfiguráció nélkül | Igen, ACME resolver konfigurációt igényel |
| Docker automatikus felderítés | No | No | Igen, konténercímkéken keresztül |
| Üresjárati RAM | ~50 MB | ~30 MB | ~80 MB |
| Legjobban illő eset | Grafikus felületet kedvelők, kicsi/statikus stackek | Konfiguráció mint kód, legkisebb lábnyom | Dinamikus Docker stackek gyakori konténerváltozásokkal |
Az üresjárati RAM-adatok hozzávetőleges megfigyelések a következőből: egy 2026-os összehasonlítás, nem rögzített követelmények. A tényleges használat az image verziójától, az engedélyezett funkcióktól, a forgalomtól és a naplózástól függően változik.
A váltási szempontok közvetlenül abból a táblázatból következnek. Ha vezérlőpultot szeretnél, és néhány, nem gyakran változó szolgáltatást futtatsz, az NPM a megfelelő eszköz. Ha a konfigurációt kódként részesíted előnyben, a legkisebb lábnyomot szeretnéd, vagy értékeled a Caddy automatikus HTTPS-kiépítését és -megújítását ACME-beállítás nélkül, használj Caddyt. Én magam is a Caddyhez nyúlok egy-webhelyes telepítéseknél, mert az SSL-kezelés automatikus, a Caddyfile pedig rövid. Ha gyakran adsz hozzá, távolítasz el vagy telepítesz újra konténereket, a Traefik címkealapú automatikus felderítése azt jelenti, hogy már nem kell kézzel regisztrálnod minden új hostot.
Létezik a csupasz Nginx is a Certbottal, amelyet egyes adminisztrátorok a pontos irányítás vagy a Docker nélküli telepítések miatt részesítenek előnyben. A Certbot automatizálhatja a tanúsítványmegújítást, de a virtuális host útválasztást és az Nginx konfigurációt továbbra is te magad kezeled. Ha az NPM megfontolásának fő oka a manuális proxykonfiguráció elkerülése, a csupasz Nginx valószínűleg nem a jobb választás.
Egy megjegyzés a választáshoz: a byte-guard összehasonlítása a Caddyt találja a legkönnyebb opciónak abban az összehasonlításban, és egy friss, 2026-os, egy-hostos beállításhoz ez ésszerű választás. A Caddy azzal nyer, hogy könnyebb az NPM-nél, de ha kifejezetten grafikus felületet szeretnél, akkor nem ez a legjobb választásod.
Az alapul szolgáló motorok mélyebb, egymás melletti összehasonlításáért lásd a Caddy vs Nginx egy VPS-en összehasonlítást.
Előfeltételek: mire lesz szükséged
Telepítés előtt készítsd elő ezeket. Ez egy rövid lista, de ha bármelyik elemet kihagyod, a tanúsítványlépés később meg fog hiúsulni.
- Egy VPS a következővel: telepített Docker és Docker Compose (Ubuntu 22.04 LTS vagy Debian 12 megfelelő).
- Egy domainnév, egy DNS A rekorddal (és AAAA, ha IPv6-ot használsz), amely a VPS nyilvános IP-jére mutat.
- SSH hozzáférés a VPS-hez.
- A 80-as és 443-as portok nyitva az internet felé a tűzfaladon.
- A 81-es port csak számodra elérhető, nem nyilvános (a biztonsági szakaszban tárgyaljuk).
Az Nginx Proxy Manager beállítása a VPS-eden Docker Compose segítségével
Ez a szakasz az NPM-et Docker Compose segítségével telepíti. Amint a DNS rekordjaid a VPS-re oldódnak fel, maga a konténerbeállítás gyors, bár a DNS-propagáció és a tanúsítványkiadás tovább tarthat.
A beállítás egyetlen Docker Compose fájlt és egy egyszeri parancsot használ egy megosztott Docker hálózat létrehozásához. Hozz létre egy könyvtárat, hozd létre a hálózatot, add hozzá az alábbi docker-compose.yml fájlt, és indítsd el a konténert.
Először hozd létre a megosztott Docker hálózatot:
docker network create proxy
Ezután hozd létre a következő docker-compose.yml fájl:
# 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
Csatlakoztass minden olyan backend konténert, amelyet az NPM-nek szolgáltatásnév alapján el kell érnie, ugyanahhoz a külső proxy hálózathoz. Ez lehetővé teszi, hogy az NPM szolgáltatásnév alapján oldja fel a konténert anélkül, hogy a backend alkalmazás portját a VPS-en közzétenné.
Készíts biztonsági mentést mindkettőről: ./data és ./letsencrypt frissítések előtt. Az adatkönyvtár tartalmazza az NPM adatbázisát és a generált konfigurációt, míg a Let's Encrypt könyvtár a tanúsítványanyagát.
Néhány dolog erről a fájlról. Az image alapértelmezés szerint egy SQLite adatbázist használ, amelyet a következőben tárol: ./data kötet. Ez az alapértelmezett backend, és a legtöbb egy-VPS-es telepítéshez ez a helyes. Ha külső adatbázisra van szükséged, az NPM támogatja a MariaDB/MySQL és a PostgreSQL adatbázisokat, ami egy adatbázis-szolgáltatás és a hozzá tartozó környezeti változók hozzáadását jelenti. Egyetlen VPS-hez az SQLite továbbra is a legegyszerűbb alapértelmezés, hacsak nincs egyértelmű okod az adatbázis kimozdítására az adatkötetből. A restart: unless-stopped házirend azt jelenti, hogy az NPM újraindul, ha a VPS újraindul, ami pontosan az, amit egy olyan szolgáltatástól elvársz, amely mindent más előtt helyezkedik el.
Indítsd el, és győződj meg róla, hogy fut:
docker compose up -d
docker compose ps
Várt kimenet: a npm konténer, amelynek állapota Up, a 80-as és 443-as portok nyilvánosan leképezve, a 81-es port pedig csak a következőhöz kötve: 127.0.0.1. Az első indítás néhány percet vesz igénybe, amíg az NPM generál egy JWT kulcsot, inicializálja az adatbázist, és létrehozza az alapértelmezett admin felhasználót. A hivatalos beállítási dokumentáció leírja ezt az első indítási folyamatot.
Hozz létre egy SSH-alagutat a helyi számítógépedről, mielőtt megnyitnád az adminfelületet:
ssh -L 8181:127.0.0.1:81 user@your-vps
Ezután nyisd meg a következőt: http://127.0.0.1:8181 a böngésződben. Egy friss telepítésnél jelentkezz be a következővel: [email protected] és changeme, majd azonnal cseréld le az alapértelmezett e-mail-címet és jelszót. Ne tedd a vezérlőpultot nyilvánosan elérhetővé, amíg az alapértelmezett hitelesítő adatok aktívak.
Miután megváltoztattad az admin hitelesítő adatokat, add hozzá az első proxy hostodat:
- A vezérlőpulton lépj a következőre: Hosts, majd Proxy Hosts, majd Add Proxy Host.
- Állítsd be a Domain Name az aldomainedre (például
cloud.example.com). - Beállítás Forward Hostname / IP a backend konténer nevére vagy IP-jére, és Forward Port arra a portra, amelyen figyel.
- Mentés. A proxy host megjelenik a listában, és az adott aldomainre irányuló forgalom mostantól eléri a konténeredet.
Ha emellett egy Docker felügyeleti felületet is futtatsz, ugyanez a minta érvényes: ugyanígy irányíts egy aldomaint a konténerkezelő eszközre, és tedd ugyanezt egy Prometheus és Grafana monitorozó verem esetén is, amelyet a proxy mögé szeretnél helyezni.
Automatikus HTTPS beállítása egy aldomainhez
Ez a szakasz egy érvényes, automatikusan megújuló Let's Encrypt tanúsítványt szerez az aldomainedhez. Az előfeltétel az, ami az embereket megfogja: az adott aldomain DNS A rekordjának már a VPS-edre kell mutatnia, és a 80-as portnak elérhetőnek kell lennie az internetről, mivel a Let's Encrypt úgy ellenőrzi a domaint, hogy visszakapcsolódik hozzá.
A proxy host létrehozása után igényeld a tanúsítványt:
- Szerkeszd a proxy hostot, nyisd meg az SSL fül.
- Alatt SSL-tanúsítvány, válassz Request a new SSL Certificate.
- Engedélyezés Force SSL és HTTP/2 Support. A HSTS-t csak azután kapcsold be, miután megerősítetted, hogy a HTTPS helyesen működik, mivel a böngészők gyorsítótárazhatják a házirendet, és megnehezíthetik egy tanúsítvány- vagy proxykonfigurációs hiba utáni helyreállítást.
- Fogadd el a Let's Encrypt feltételeit, és ments.
Alapértelmezés szerint az NPM a HTTP-01 kihívást használja a nem wildcard nevekhez, minden igényelt hosztnevet a 80-as porton keresztül validálva. Egy tanúsítvány több nem wildcard nevet is tartalmazhat, de a HTTP-01 nem tud wildcard tanúsítványokat kiadni. A wildcard nevek, mint például a *.example.com a DNS-01 kihívást igénylik egy támogatott DNS-szolgáltatóval. Egy szokásos, szolgáltatásonként egy aldomaint használó beállításnál a HTTP-01 minden, amire szükséged van, és a megújítások automatikusak.
Ha a tanúsítványigénylés meghiúsul, először a 80-as portot ellenőrizd. A gyakori okok közé tartozik az elérhetetlen 80-as port, egy hibás felhőtűzfal- vagy biztonságicsoport-szabály, valamint a még be nem fejezett DNS-propagáció. A Let's Encrypt nem tud validálni egy olyan domaint, amelyet nem tud elérni.
Az NPM adminfelület biztonságossá tétele egy VPS-en
A 81-es porton lévő adminfelület a fő kitettség egy NPM-telepítésen, és ez a szakasz lezárja azt. Ez üzemeltetési megerősítés, nem biztonsági audit: három dolog, egyszer elvégezve, és a kockázati profil élesen lecsökken.
Először és legfontosabbként tartsd a 81-es portot a következőhöz kötve: 127.0.0.1 ahogy a Docker Compose fájlban látható. A vezérlőpultot a korábban ismertetett SSH-alagúton keresztül érd el. Ha tartós távoli hozzáférésre van szükséged, tedd az adminfelületet csak egy privát VPN-en keresztül elérhetővé. Ne tedd közzé a 81-es portot a VPS nyilvános IP-jén.
Másodszor, engedélyezd a TOTP kétfaktoros hitelesítést az admin fiókodon. Az NPM a TOTP-alapú 2FA-t a következőben adta hozzá: 2.13.6-os verzió, így bármely aktuális telepítés rendelkezik vele. Kapcsold be.
Harmadszor, tartsd az NPM-et javítva, és ellenőrizd a pontos kiadást ahelyett, hogy feltételeznéd, hogy a latest címke biztonságos. A CVE-2026-40519 a 2.9.14-től a 2.15.1-ig terjedő verziókat érinti, és rosszindulatú DNS-szolgáltatói hitelesítő adatokon keresztül hitelesített távoli kódfuttatást tehet lehetővé. CVE-2026-50892 a v2.14.0-t érinti, és lehetővé teheti egy hitelesített támadó számára, hogy Let's Encrypt privátkulcs-anyagot szerezzen. Egy korábbi probléma, a CVE-2025-50579, a v2.12.3-at érintette egy CORS-hibán keresztül, amely JWT tokeneket tehetett elérhetővé. A gyakorlati szabály egyszerű: tartsd a 81-es portot priváton, engedélyezd a kétfaktoros hitelesítést, rögzíts egy ismert javított verziót, és a frissítés előtt ellenőrizd a biztonsági közleményeket.
A 81-es port privát marad, az NPM pedig javítva marad. Tedd meg ezt a két dolgot, és a fő ismert kockázatok egy szokásos, egy-VPS-es beállításnál sokkal könnyebben kezelhetővé válnak.
A VPS méretezése az Nginx Proxy Managerhez
Maga az NPM könnyű; a méretezés kérdése valójában az NPM plusz a mögötte lévő szolgáltatásokról szól. A proxy üresjárati lábnyoma ritkán a korlátozó tényező. Egy Nextcloud példány vagy egy Ghost blog több erőforrást fog használni, mint maga a proxy.
Íme, hogyan alakulnak a szintek a gyakorlatban:
- Minimális gyakorlati alapszint: 1 GB RAM, 1 vCPU és 10 GB tárhely. Egy harmadik féltől származó méretezési útmutató ugyanezt az alapszintet használja, de tekintsd tervezési iránymutatásnak, nem hivatalos NPM-követelménynek. Elegendő az NPM-hez, az operációs rendszerhez és néhány könnyű szolgáltatáshoz, de kevés tartalékot hagy.
- Kényelmes: 2 GB RAM, 1 vCPU, 20 GB tárhely. Az NPM plusz három-öt szolgáltatás, mozgástérrel. Ez a legtöbb saját üzemeltető számára az ideális pont.
- Egy szinttel feljebb: 4 GB RAM, 2 vCPU. Nyolc-tizenkét szolgáltatáshoz, vagy egy jelentős forgalmú beállításhoz, ahol CPU-tartalékot szeretnél a TLS-lezáráshoz.
Az a szám, amihez méretezel, a proxyzott alkalmazások összege, nem az NPM. Add össze a futtatni kívánt szolgáltatások RAM-lábnyomait, add hozzá a proxy kis üresjárati többletét, és válaszd a fölötte lévő szintet ráhagyással.
A gép méretezése a könnyebbik rész. Az NPM elindítása még mindig a VPS kiépítését, a Docker telepítését, az image letöltését és az első indítási beállítás végigcsinálását jelenti. Ha inkább kihagynád a kiépítési lépéseket, a Cloudzy marketplace-e kínál egy egykattintásos Nginx Proxy Manager telepítést egy NVMe VPS-en. Egy friss kiszolgálón állítja fel a konténert, így egyenesen a vezérlőpulthoz és az első proxy hostodhoz jutsz. Bármelyik utat választod, a fenti méretezési szintek azok, amikhez kiépítesz.
Gyakran ismételt kérdések
Mi a különbség az Nginx és az Nginx Proxy Manager között?
Az Nginx maga a webkiszolgáló és reverse proxy motor, amelyet szövegfájlok szerkesztésével konfigurálsz. Az Nginx Proxy Manager egy Docker alkalmazás, amely alul Nginxet futtat, felül pedig egy webes felületet ad hozzá, így a proxy hostokat és a Let's Encrypt tanúsítványokat egy vezérlőpulton keresztül kezeled konfigurációs fájlok írása helyett. Az NPM a grafikus felület rétege; az Nginx a motor, amely a munkát végzi.
Megéri még az Nginx Proxy Managert használni 2026-ban?
Igen, a grafikus felületet előnyben részesítő, kis Docker stacket futtató felhasználók számára, de csak azután, hogy ellenőrizted, hogy a telepített image tartalmazza a legújabb biztonsági javításokat. 2026. július 12-én a v2.15.1 a legújabb címkézett kiadás, és az NVD a CVE-2026-40519 által érintettként sorolja fel. Ha a konfigurációt kódként részesíted előnyben, a Caddy továbbra is a jobb választás; az NPM SQLite-alapú konfigurációja a fő üzemeltetési korlátja.
Mennyi a minimális RAM az Nginx Proxy Managerhez?
Maga az NPM üresjáratban körülbelül 50 MB RAM-ot használ. Egy 1 GB-os VPS gyakorlati alapszint, amely elegendő az NPM-hez plusz néhány könnyű szolgáltatáshoz. 2 GB kényelmes, amint több proxyzott alkalmazást adsz hozzá. A valódi RAM-igényt az NPM mögötti szolgáltatások határozzák meg, nem maga az NPM.
Ki kell tennem a 81-es portot az internetre?
Nem. Tartsd a 81-es portot a localhosthoz kötve, és egy SSH-alagúton keresztül érd el, vagy tedd csak egy privát VPN-en keresztül elérhetővé. Ne tedd közzé az adminfelületet a VPS nyilvános IP-jén.
Futtathatom az Nginx Proxy Managert Docker nélkül?
Nem. Az NPM Docker konténerként van terjesztve és tervezve, és nincs támogatott, Docker nélküli telepítés. Ha nem tudsz vagy nem akarsz Dockert futtatni, használj helyette csupasz Nginxet a Certbottal, vagy Caddyt egyetlen binárisként.
Támogatja az Nginx Proxy Manager a wildcard tanúsítványokat?
Igen, egy DNS-01 kihíváson keresztül, egy támogatott, beállított DNS-szolgáltatóval. A szokásos, egy hosztnevet tartalmazó tanúsítványok a HTTP-01 kihívást használják a 80-as porton; a wildcard tanúsítványok (*.example.com) a DNS-01-et igénylik, mivel a tanúsítványkiadó úgy validálja az irányítást, hogy egy DNS rekordot ír, nem pedig egyetlen hosztot ér el.