[SOLVED] Über Reverse Proxy kein Zugriff auf Shell (Fehler 501)

tugsi

Member
Jan 20, 2022
5
2
8
48
Hallo,

ich habe hier schon einiges durchsucht und auch Google schon durchkämmt, aber alles was ich finden konnte, hat mir nicht geholfen.

Ich habe zuhause mir ein Proxmox aufgesetzt, soweit klappt auch alles.
Solange ich über die IP-Adresse lokal drauf zugreife, habe ich volle Kontrolle.

Nun habe ich Nginx Reverse Proxy davor gesetzt, damit ich von ausserhalb auch darauf zugreifen konnte und als zusätzlich Authentifizierung noch ein Cloudflare-Proxy mit eigener Domain.
Anfänglich klappte auch alles, aber dann ist mir aufgefallen, dass ich in Cloudflare die Einstellung SSL/TLS Flexibel eingestellt hatte, sprich bis zu Cloudflare SSL, dann von Cloudflare zu mir nach Hause nicht.
Ok, kein Ding denke ich, umstellen auf SSL/TLS Full, somit komplett bis zu mir nach Hause verschlüsselt.

Ich komme auf das Webinterface auch drauf, aber möchte ich auf die Shell/Konsole, kommt immer der nette Banner "Connection failed (501): not implemented".
Ebenso kann ich kein Container starten oder stoppen.

Umgestellt bei Cloudflare auf "unverschlüsselt" zwischen Cloudflare und Home, dann klappt es wieder.

Jetzt habe ich einiges gelesen bzgl der Zertifikate, dass dort das Problem liegen könnte.
Also habe ich bei Cloudflare auf NUR DNS eingestellt und in Proxmox mein ACME-Account eingerichtet und mir ein Zertifikat für proxmox.meine-Domain.de geholt, dies klappte auch.
Dann wieder zurückgeschwenkt und leider immer noch das Problem.

Bin dann hingegangen und habe mal von einer anderen Domain ohne über Cloudflare zu gehen, direkt auf mein Home und dann Proxmox, aber da genau dasselbe Problem.
Habe im NPM auch ein Zertifikat geholt, aber auch hier keine Besserung.

Ich kann mir nicht vorstellen, dass ich der einzige bin, der Proxmox hinter einer Reverse Proxy benutzt ;-)
Ich würde schon ganz gerne auf der ganzen Strecke SSL/TLS benutzen.

Vielleicht kann jemand helfen.

Danke im Voraus.
Gruß Thomas
 
Last edited:
Probier mal folgendes unter „Advanced“ im NPM für den PVE:

location / {
proxy_pass https://ip-des-proxmox:8006
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}

Der Eintrag

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

sollte in einer Zeile stehen (wird auf dem Smartphone umgebrochen angezeigt).
 
Last edited:
Danke für die Antwort,
Zeile wird auf dem Monitor als eine angezeigt, also korrekt, aber nach der Adresse in der zweiten Zeile, fehlt ein ;

Habe ich direkt ausprobiert, jetzt habe die Meldung "undefined: (Code 1006)" wenn ich auf die Shell/Konsole zugreifen möchte.
Starten und stoppen der Container klappt jetzt allerdings.

Unten in den Tasks meldet er mir folgendes bei dem Versuch einer Konsole zu öffnen:

Da wo er noch versucht steht:
Code:
no content
Danach kommt das:
Code:
failed waiting for client: timed out
TASK ERROR: command '/usr/bin/termproxy 5900 --path /vms/101 --perm VM.Console -- /usr/bin/ssh -e none -t meine-IP -- /usr/bin/dtach -A /var/run/dtach/vzctlconsole101 -r winch -z lxc-console -n 101 -e -1' failed: exit code 1

Bei der Shell vom PVE steht dies die ganze Zeit und da kommt nichts anderes
Code:
client connection: 127.0.0.1:40030
 
Ich hab die Lösung, danke @cwt, dass mich in die richtige Richtung geschubst hast.

Und zwar habe ich zu Deiner Config noch folgendes hinzugefügt:
Code:
proxy_set_header Upgrade $http_upgrade;


Also gesamt steht da jetzt:

Code:
location / {
proxy_pass https://ip-des-proxmox:8006;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Upgrade $http_upgrade;
}

Damit klappt es :)
 
Last edited:
  • Like
Reactions: cwt
Vollständigkeitshalber, falls hier jemand wieder in Zukunft drüberstolpert:
Wir haben das ganze Prozedere auch im Detail in unserem Wiki dokumentiert: https://pve.proxmox.com/wiki/Web_Interface_Via_Nginx_Proxy

PS: Wenn du den ersten Posts bearbeitest, sollte da ein Dropdown beim Titel-Feld sein - da kannst du den Thread ordentlich auf SOLVED setzen. ;)
 
Vollständigkeitshalber, falls hier jemand wieder in Zukunft drüberstolpert:
Wir haben das ganze Prozedere auch im Detail in unserem Wiki dokumentiert: https://pve.proxmox.com/wiki/Web_Interface_Via_Nginx_Proxy

PS: Wenn du den ersten Posts bearbeitest, sollte da ein Dropdown beim Titel-Feld sein - da kannst du den Thread ordentlich auf SOLVED setzen. ;)
Ich hab das Wiki mir übrigens auch durchgelesen, aber das war gestern Nacht und da war ich nicht mehr so aufnahmefähig ....
Und das Solved habe ich angepasst
 
  • Like
Reactions: cheiss

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!