1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 03:36:48 +00:00

feat(console): the VNC console uses the panel's own address

The console pages connect to /novncd/ on the address, scheme and port the
page itself was loaded from; nginx proxies it to novncd, which listens on
the loopback only. There is nothing to configure: the console works on
HTTPS (wss), behind another proxy and on any published port.

Before, the page connected to WS_PUBLIC_HOST/PORT/PATH, port 6080 by
default: straight to novncd, past nginx and without TLS, so an HTTPS panel
and a Docker container published on another port had no console until the
public port was set by hand, and novncd listened on every interface.

Gone: WS_PUBLIC_PORT, WS_PUBLIC_HOST, WS_PUBLIC_PATH and WS_CERT, the
installer's two public console questions and its 6080 firewall rule, the
Docker image's WS_PUBLIC_PORT and its init script lines, the manual
install's firewall rule for 6080 and nginx's unused /websockify location.
WS_HOST defaults to 127.0.0.1. A VM with a QEMU websocket port is still
reached on that port of the panel's host name (left for a separate
decision).
This commit is contained in:
catborise 2026-10-26 19:51:35 +03:00
parent 82af555d45
commit 68b104dfe4
14 changed files with 43 additions and 164 deletions

View file

@ -275,23 +275,10 @@ LOGGING = {
# WebVirtCloud settings
#
# Websock port
# The VNC console proxy (novncd). Browsers reach it through nginx's /novncd/
# on the panel's own address, so it listens on the loopback only.
WS_PORT = 6080
# Websock host
WS_HOST = "0.0.0.0"
# Websock public port - 80 or 443 if reverse-proxy, else 6080
WS_PUBLIC_PORT = 6080
# Websock public host
WS_PUBLIC_HOST = None
# Websock public path
WS_PUBLIC_PATH = "novncd/"
# Websock Certificate for SSL
WS_CERT = None
WS_HOST = "127.0.0.1"
# Serial console (xterm.js over socketiod) for VMs without graphics. socketiod
# accepts only the console page's signed token (as noVNC does); while this is