Proxmox Console über nginx proxy manager erreichbar machen

Astralix

Member
Jan 18, 2025
42
6
8
Germany
Hallo zusammen, ich habs irgendwie vermasselt.

Auf meinem Proxmox laufen verschiedene Dienste wie nextcloud, paperless und Home Assistant. Jeden Dienst konnte ich mit wenigen Klicks über den neuen nginx proxy manager erreichbar machen. Sogar den NPM selbst. Aber die Status / Config Seite bekomme ich nicht hin. Die App meldet einen SSL Zertifikatsfehler, kommt beim Deaktivieren der Zertifikatsprüfung aber drauf. Aus dem internen Netz kann ich alle über NPM reverse-proxied Seiten erreichen, Proxmox nicht, da muss ich definitiv über die blanke IP gehen.

Wenn ich aber mit den Wörtern Proxmox, nginx reverse proxy u.s.w. suche, dann bekomme ich nur etliche Beiträge, wie man NPM installiert... Aber der läuft ja schon ;)

Hilfe :P
 
Eine Erkenntnis habe ich schon:
wenn ich https://proxmox.domain.tld eingebe, lande ich auf "Connection Refused"
wenn ich https://proxmox.domain.tld:8006 eingebe, lande ich auf "Diese Seite ist nicht sicher" und ich kann mich durch klicken.
Aber wenn ich andere Dienste im NPM auf einen anderen Port umleite und da noch SSL drüber lege, dann funktioniert das alles ohne aufwand.

Ich habe im NPM für den proxmox keine besonderen Extra Einstellungen gemacht:

Domain, https, interne IP, Port 8006
Block Common Exploits, Websocket Support
Force SSL, HTTP/2 Support
Alles andere aus oder leer.

Das wars
Leider nur der umständliche Weg über deaktiviertes SSL
 
Ja schon, aber ich habe vergeblich versucht, diese Infos so umzubauen, dass sie im aktuellen Web-I/F des NPM unterzubringen sind und nicht an der Oberfläche vorbei. Habe das eben noch einmal versucht, aber entweder wirkt es nicht, oder es wird gleich offline angezeigt.
 
Habe das noch einmal durch gespielt.
Wenn ich eine parallele Konfiguration in NPM eingebe, dann meckert der natürlich. Wenn ich die Konfiguration aus dem Web-Panel lösche, wird es vermutlich mit der Config aus dem Wiki gehen.
Dann verliere ich aber die inkludierte Zertifikats-Renewal, die im NPM dabei ist.

Der NPM speichert ja alle seine Konfigurationen in einer sqlite Database.
 
wenn ich https://proxmox.domain.tld eingebe, lande ich auf "Connection Refused"
wenn ich https://proxmox.domain.tld:8006 eingebe, lande ich auf "Diese Seite ist nicht sicher" und ich kann mich durch klicken.
Zum ersten Link würde ich mal behaupten, das der auf den Port 80 bzw 443 will. Zum zweiten Link würde ich sagen, das das Zertifikt auf der Seite nicht zur URL passt. Hast du das schon ein passenden hinterlegt?
 
Die lokale Adresse habe ich hinterlegt, ebenso den Port für die Weiterleitung. Das funktioniert für andere Dienste auch. Home Assistant will auch einen anderen Port je nachdem on man Monitoring oder Admin sein will.

In Proxmox selbst habe ich kein SSL Zertifikat hinterlegt, das war in anderen Services auch nicht nötig. Darum hat sich NPM gekümmert.

Verstehe nur nicht, warum ich es bei Proxmox nicht hin bekomme. Bei Paperless und Nextcloud musste man auch lokal eine Option in deren Configs setzen und schwupp, da funktionierte es. Bei Proxmox wird das nicht erwähnt, abgesehen von "proxy_ssl_verify off;" als Advanced Option in NPM, was aber bei mir nichts ändert.
 
Nur so als Idee:
Lt. dem Wiki kannst du das doch auch hochladen : https://pve.proxmox.com/wiki/Certificate_Management
Wenn ich das richtig gelesen haben, nutzt der NPM Let's Encrypt - da könntest das Let's Encrypt doch auch direkt in Proxmox einstellen.
Und ja, schon wieder ein WIKI verweis ;-)

Ich mache bei mir Inhaus da keinen Verkrampfungen und *extern* via Internet mache ich das nicht. Und mit VPN bin ich dann Inhaus!
 
Normalerweise funktioniert das im NPM zum PVE wie folgt:

Domain names:

der-dns-names-des-pve.de

Scheme: https

IP des PVE, Port 8006

Websockets support & Block common exploits aktivieren.

Der Reiter SSL sollte selbsterklärend sein.

Unter Advanced folgendes hinzufügen:

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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_ssl_verify off;

Dann sollte das klappen
 
  • Like
Reactions: ThoSo
Das funktioniert so nicht.

Die ersten Reiter sind alle ok, das habe ich ja erfolgreich für andere subdomains eingerichtet.

Aber in "Advanced" kann man die obeigen Änderungen nicht eintragen, denn dann ist der Dienst rot für die subdomain.
1749894395746.png
Das steht da aber auch ganz klar, set_header directives werden hier in diesem Feld ignoriert, bzw führen zu einem deaktivierten Eintrag.

proxy_http_version 1.1;

Führt zu einem Fehler der den Eintrag deaktiviert, egal wo ich das hin schreibe.

Wenn ich jetzt eine "Custom Location" erzeuge und die vorgeschlagenen proxy_add_header Definitionen da eintrage, dann ist der Eintrag grün, aber ich bekomme im Browser immer "Die Webseite ist nicht erreichbar". Und ich habe dabei auch schon alle Permutationen von http und https durch gespielt.

1749895180549.png
Das ist es also leider nicht ganz.
 
Ja, stimmt. Die Zeile

proxy_hhtp_header 1.1;

muss raus.

Unter "Custom locations" muss nix rein. Bei mir funktioniert das problemlos ohne.

Eben nochmal auf einem anderen System getestet: es geht auch gänzlich ohne header Direktiven.

pve1.png
pve2.png