WebSocket VNC console not working via Cloudflare Tunnel (works locally)

cristobal.t_2009

New Member
Jan 19, 2026
1
0
1

Description​

Hello,

I’m having issues accessing the Proxmox web console (VNC/LXC console) only when accessing Proxmox through my public domain behind a Cloudflare Tunnel.

Accessing Proxmox directly via LAN IP works fine, but the console fails when using the domain.

Environment​

Problem​

When I try to open the LXC console via the web UI, the console never connects.

Browser error:

WebSocket connection to
'wss://proxmox.cristobal.cc/api2/json/nodes/proxmox/lxc/103/vncwebsocket?...'
failed

Proxmox server error

failed waiting for client: timed out
TASK ERROR: command '/usr/bin/termproxy 5900 --path /vms/103 --perm VM.Console -- /usr/bin/dtach -A /var/run/dtach/vzctlconsole103 -r winch -z lxc-console -n 103 -e -1' failed: exit code 1

This suggests that Proxmox starts the console but never receives the WebSocket connection from the client.

WebSocket request details​

The browser sends a WebSocket request to:

wss://proxmox.cristobal.cc/api2/json/nodes/proxmox/lxc/103/vncwebsocket

With:
  • Upgrade: websocket
  • Connection: Upgrade
  • Sec-WebSocket-Protocol: binary
  • Cookies include PVEAuthCookie
  • Request goes through Cloudflare Access / Tunnel
(Full request headers available if needed.)

Observations​

  • ✅ Console works perfectly when accessing Proxmox via LAN IP.
  • ❌ Console fails only when accessed through the domain.
  • Normal web UI works, only the VNC/LXC console WebSocket fails.
  • Looks like Cloudflare Tunnel or proxy is not correctly forwarding WebSocket traffic or timing it out.
  • Proxmox waits for the client but never receives the WebSocket connection.

Question​

Is this a known limitation or configuration issue when using Cloudflare Tunnel / reverse proxy with Proxmox WebSockets?

Is there any recommended configuration for:
  • WebSocket proxying
  • termproxy / VNC console
  • Cloudflare Tunnel compatibility with Proxmox VE?
Any advice or confirmation would be appreciated.

Thanks!
 
Last edited: