Get Virtualizor

NoVNC

Overview

This guide shows you how to enable the noVNC feature in Virtualizor. noVNC is a browser based VNC client implemented using HTML5 Canvas and WebSockets.
noVNC will work on SSL (4083/4085) and non-SSL (4081/4082/4084) ports in Virtualizor.

Note:

  • If you are using secure connection (on ports 4083/4085) to access panel, then your browser might reject connection to NoVNC for VPS hosted on slave.
  • This can be resolved by selecting "Use Server Hostname" option in slave settings for that slave with valid SSL certificate, or using Master proxy option in master sever settings.
  • Virtualizor also provides feature to install free SSL certificate of Let's Encrypt on Virtualizor server( know more).

Enabling noVNC

Enabling noVNC is very simple and needs to be enabled only on the Master. However please understand all noVNC settings in Virtualizor to get your desired results.

To enable noVNC go to the Virtualizor Admin Panel -> Configuration -> Master Settings.
Following is a screenshot :


The options are explained as follows :

  • Enable noVNC : This will enable noVNC for your entire cluster.
  • Master Proxy Only : Recommended if your master has resources. The websockets service will run only on the master server.
  • Use Server Hostname : Recommended if you have pointed a valid domain to your Master / Slave servers. If this is not checked, then the IP addresses will be used to connect to the websocket.
  • Disable JAVA VNC Viewer : This option will Disable JAVA VNC Viewer and you will be able to use HTML VNC Viewer only.

You can enable VNC while creating a VPS or managing a VPS.

Create VPS :

Manage VPS :

How to access noVNC

After enabling noVNC, you can access noVNC from list VPS and manage VPS.

List VPS :
When you hover on the status of the VPS. you will get the following options. Click on VNC icon to connect to VPS using VNC.

Manage VPS :
Click on the VNC option in manage section.

After Clicking on the VNC option you will get the following prompt. Click on noVNC to connect to VPS using VNC.

The default virtualizor SSL certificate will be used and the websocket will be running on 4083 and 4085. NGINX is used to proxy to the noVNC websocket. This is done to avoid the enduser the hassle to accept self-signed certificates for different ports. Also the admin will not need to install the same certificate on all slaves.

Note : For Virtualizor XenServers "Master Proxy Only" setting should always be unchecked, also you will need SSL on all your slave servers for NoVNC to work properly on Virtualizor XenServers.

Troubleshooting

1. If VNC was enabled after the VPS was created then it will require stopping and starting the VPS from panel else it will throw error :  'Failed to connect to server'

2. If VNC gives error : 'Authentication failed' then it means that VNC password was changed or got changed and that will require stopping and starting VPS from panel.

3. If VNC still does not works then make sure firewall service is not blocking 4081 and the vnc port(59XX and higher) which that vps is using.

You can view vnc port from manage vps page while accessing vnc.

4. If firewall is not blocking then check if websockify service is running or not :

ps aux |grep websoc

websockify process will run on the server where the VPS exists but if Master proxy is enabled in Configuration->Master settings then that process will only run on Master server.

5. For XCP, You will need socat package installed on that server and then try to access vnc from panel and check again for websoc process on master server.

Make sure ' use master proxy ' is off in Configuration->Master settings.


6. Accessing VNC on panel over domain with SSL will require 'use server hostname' enabled in Configuration->Slave settings.
If Master proxy is enabled then Master's domain will be used or else it will attempt to use slave panel's domain.

7. Only for OS versions lower than AlmaLinux 9, Proxmox 8 and Ubuntu 22.04 websockify should be using python2.
If python3 is installed and websockify is using python3 then VNC will fail.
You can check if python2 is symlinked or not :

ls -lh /usr/bin/python*


8. You can also verify if VNC is working using a external VNC client or telnet is working to VNC ports externally.

Support

If you need any assistance, please email support@virtualizor.com

    Was this page helpful?
    Newsletter Subscription
    Subscribing you to the mailing list