The VNC proxy is an OpenStack component that enables compute service users to access their instances through VNC clients.
The VNC console connection works as follows:
A user connects to the API and gets an
access_url
such as,http://
.ip:port
/?token=xyzThe user pastes the URL in a browser or uses it as a client parameter.
The browser or client connects to the proxy.
The proxy talks to
nova-consoleauth
to authorize the token for the user, and maps the token to the private host and port of the VNC server for an instance.The compute host specifies the address that the proxy should use to connect through the
nova.conf
file option,vncserver_proxyclient_address
. In this way, the VNC proxy works as a bridge between the public network and private host network.The proxy initiates the connection to VNC server and continues to proxy until the session ends.
The proxy also tunnels the VNC protocol over WebSockets so that the noVNC client can talk VNC.
In general, the VNC proxy: