Nginx Proxy Manager für LXC und KVM

sakis2018

Active Member
Dec 25, 2018
53
0
26
49
Hallo,

ich habe einen Proxmox Server daheim, darauf laufen verschiedene LXC sowie KVM Services.
Ich möchte ein paar Services von außen erreichbar machen und hab mir daher auf einer neuen Ubuntu-KVM Nginx-Proxy-Manager installiert.

Doch leider kann ich innerhalb des KVM "Hosts" erstellen, mein Ziel ist es auf die LXC sowie KVM die ich unter Proxmox am laufen habe zuzugreifen.

NPM auf dem Proxmox Host zu installieren fällt schonmal aus, ich möchte den NPM gerne auf einem KVM, notfalls geht auch ein LXC.

Kann mir jemand dabei helfen?

LG
Sakis
 
NPM = Nginx Proxy Manager. ( Siehe mein Beitrag).

Vielleicht habe ich mich auch falsch ausgedrückt.

Ich möchte NPM mit meinen LXC und KVM nutzen die ich unter Proxmox am laufen haben.
 
NPM = Nginx Proxy Manager. ( Siehe mein Beitrag).

Vielleicht habe ich mich auch falsch ausgedrückt.

Ich möchte NPM mit meinen LXC und KVM nutzen die ich unter Proxmox am laufen haben.
Ja klar das funktioniert einfach. Eine KVM Maschine hochziehen, Docker installieren, NPM drauf und starten.
Danach die Mappings die Du brauchst definieren, Firewallregeln nach außen setzen und go. Funktioniert auch mit der Host Proxmox GUI.
 
  • Like
Reactions: sakis2018
So habe ich es gemacht, aber irgendwie funktioniert es nicht.

1.) KVM mit Ubuntu 20.04 erstellt.
2.) Docker und Docker-Compose installiert
3.) NPM installiert.
4.) in NPM Proxy Host erstellt.
xdp-123.png

Die Seite wird aber nicht aufgerufen (nur Weißes Bild)

Muss ich noch was beachten?
 
So habe ich es gemacht, aber irgendwie funktioniert es nicht.

1.) KVM mit Ubuntu 20.04 erstellt.
2.) Docker und Docker-Compose installiert
3.) NPM installiert.
4.) in NPM Proxy Host erstellt.
View attachment 28968

Die Seite wird aber nicht aufgerufen (nur Weißes Bild)

Muss ich noch was beachten?
Firewall Port 80 und 443 auf eine Public IP gemappt? Damit Letsencrypt funktioniert.
Und ein DNS Mapping gemacht? NPM geht nur mit Hostnamen nicht mit IPs.
 
Hab ein ähnliches Problem.
Hab NPM in nem eigenen Container installiert und verschiedene Hosts angelegt. Mir werden auch alle als grün und online in der Übersicht angezeigt.
Wenn ich sie dann versuche aufzurufen, egal ob von intern oder von extern, ich bekomme dann einen Fehler im Browser, dass sie Seite nicht gefunden wird.
Den einzigen Host den ich aufrufen kann ist Proxmox selber, also das Webinterface.
Sobald ich versuche einen Dienst aufzurufen, der in einem Container oder einer VM läuft kommt der Fehler.
Bin echt ratlos.
 
So habe ich es gemacht, aber irgendwie funktioniert es nicht.

1.) KVM mit Ubuntu 20.04 erstellt.
2.) Docker und Docker-Compose installiert
3.) NPM installiert.
4.) in NPM Proxy Host erstellt.
View attachment 28968

Die Seite wird aber nicht aufgerufen (nur Weißes Bild)

Muss ich noch was beachten?
Port 81? Der wird doch von NPM selbst für die WebGUI verwendet.

Grundsätzlich muss auf DNS-Ebene mit NPM gearbeitet werden. Also alle Hosts/VMs, welche sowohl von außen als auch von innen erreicht werden sollen, müssen über ihren Namen, nicht die IP angesprochen werden.

Je nach lokaler Gegebenheit (Router/Firewall & DNS-Server) können dann sowohl externe (Sub)Domains als auch interne Domains via NPM gemanaged werden. Für externe Domains kann dann auch ein SSL-Cert in NPM genutzt werden.

Externe Domains müssen logischerweise auf die IP oder DynDNS-Namen des eigenen Internetanschlusses verweisen. Bei DynDNS empfiehlt sich die Verwendung von CNAMES statt A-Records beim Hoster.

Voraussetzungen

Für den Zugriff von außen müssen auf der Firewall/Router Port 80 & 443 per Port Forwarding (NAT) auf die IP des Docker-Hosts mit NPM geleitet werden.

Zusätzlich dazu sollte man überprüfen, ob sowohl auf dem PVE als auch in VM/LXC zusätzliche Firewallregeln aktiv sind, welche die Ports 80 & 443 (TCP) ggf. blocken.

Beispiel: nextcloud.meinedomain.de als Subdomain -> verweist als CNAME-Record beim Hoster auf -> meineninternetanschluss.dyndns.org

In NPM erzeugt man einen Eintrag (Proxy Hosts -> Add Proxy Host) und trägt hier ein:

Domain names: nextcloud.meinedomain.de

Scheme: http (https, wenn die VM bzw. der Server mit Nextcloud nur auf 443 lauscht)

IP: IP-Adresse der VM/Host, welcher den Dienst bereitstellt

Port: 80 (443 bei der Verwendung von HTTPS)

Bei Diensten wie Nextcloud sollte man "Block Common Exploits" sowie "Enable Websockets Support" aktivieren. Im nächsten Schritt kann ein SSL-Zertifikat für nextcloud.meinedomain.de beantragt und zugewiesen werden. Sobald das Zertifikat aktiv ist, kann in den SSL-Options des Proxy Hosts bspw. die Verwendung von SSL forciert werden ("Force SSL").

Möchte man interne Dienste/Namen mit NPM managen, muss ein entsprechender DNS-Server im LAN vorhanden sein. Das reicht von einer Fritte bis hin zu Unbound, PiHole, AdGuard, etc. Der lokale DNS-Server muss dann über entsprechende Einträge verfügen, welche auf die IP des NPM verweisen, dieser erledigt dann den Rest. Bei den Blockdiensten wie PiHole oder AdGuard kann man Domains umbiegen (PiHole: Local DNS -> DNS Records | AdGuard: Filter -> DNS Umschreibungen). Bei pfSense/OPNsense geht das bei DNSMASQ/Unbound mittels "Domain override".

Beispiel: meinserver.meinlan.local -> verweist als Eintrag im lokalen DNS-Server auf IP-DER-VM-MIT-NPM

Als Proxy Host wird dann meinserver.meinlan.local bei Domain eingetragen, anschließend ebenfalls die IP, Schema und Port.

Hosts können unter mehreren Namen erreichbar sein bei gleicher IP.

Edit: Schema hinzugefügt
 

Attachments

  • Schema.jpg
    Schema.jpg
    81.7 KB · Views: 55
Last edited by a moderator:
  • Like
Reactions: Shuvit

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!