Proxmox API - vncproxy / vnxwebsocket

schroederdennis.de

Active Member
Apr 4, 2020
23
34
33
36
schroederdennis.de
Guten Tag zusammen,

ich habe jetzt STUNDEN damit verbracht eine Implementierung eines xterm oder eines noVNC auf einer externen Seite zu programmieren.
Folgende Auffälligkeiten...

Der API Call "vncproxy" generiert zwar ein Ticket, dass ist aber nicht das Ticket welches "vncwebsocket" erwartet wird.
"vncwebsocket" erwartet nämlich ein richtiges "Access Login" PVEAuthCookie Ticket.
Gleichzeitig MUSS und zwar ZWINGEND auch das Cookie auf die selbe Adresse platziert werden, wie die Proxmox Gui an sich erreichbar ist.

Frei übersetzt, kann man eine externe Konsole NICHT ohne einen expliziten Benutzer darstellen.

Ergänzend.. Zu diesem Thema ist wirklich kaum bis nichts irgendwo ordnungsgemäß Dokumentiert, geschweige denn richtig.
Wie z.B. hier vncticket erwartet nämlich NICHT den vorherigen Call von vnxproxy, sondern ein richtiges Login Ticket.
1610383306573.png

@proxmox: Ist da ein Fix geplant ?

Herzlichen Grüße
Dennis Schröder
 
vncwebsocket erwartet als vncticket das von vncproxy zurückgegebene ticket (die doku stimmt also?) - zusätzlich musst du auch der API gegenüber authentifiziert sein (also das reguläre ticket als cookie mitschicken). das ist absicht und gewollt.

das vncticket dient nur dazu den user der den vncproxy call gemacht hat (und damit einen term/vnc/..proxy prozess gestartet hat) und den user der den vncwebsocket call (=upgrade auf websocket verbindung zum laufenden proxy prozess) macht miteinandern zu verknüpfen.
 

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!