Proxmox API - vncproxy / vnxwebsocket

schroederdennis.de

Well-Known Member
Apr 4, 2020
23
35
53
38
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.