站点图标 Linux-技术共享

SolusVM 配置 noVNC HTML5 控制台服务

SolusVM 安装后默认可用 Java VNC 控制台,不过使用体验差。用户需要下载安装 Java,继而在软件设置里添加网址例外,不然默认安全级别无法运行 SolusVM JNLP 程序(没有签名)。即便是这样,也只限那些支持 Java 插件的老旧浏览器才能用。

SolusVM Java noVNC

用户前台点击 VNC,点击 Java VNC Client 启动连接,过程中下载 JNLP 文件运行。建议用 IE 浏览器操作,如果没有,可以安装 VNC 客户端(用页面显示信息连接)。Windows 下有 RealVNC,Mac OS 有 ChickenVNC。

SolusVM 用户前台 VNC 选项
SolusVM Java VNC Client

SolusVM HTML5 noVNC

SolusVM 默认没有启用 HTML5 noVNC,需要手动配置,具体流程如下。

1. 登录 SolusVM 主控面板,菜单栏点击 Configuration -> Settings,在 Virtualization 和 Other 选项组完成以下几个设置。

启用 Html5 Serial Console
启用 noVNC 及设置 WebSocket 运行位置

如果网站用了 CDN,注意修改图 2 中的 noVNC Socket Port,因为可能 CDN 不支持默认 7706 端口而导致无法连接。譬如 CloudFlare CDN 支持端口如下(CloudFlare 与百度合作的中国 CDN 只支持 80, 443 端口)。

HTTPS 443, 2053, 2083, 2087, 2096, 8443
HTTP 80, 8080, 8880, 2052, 2082, 2086, 2095

2. SSH 登录 SolusVM 主控服务器,安装必要的服务依赖软件包。

yum -y install python numpy python-ssl libgcc libgcc zlib zlib svmstack-nginx svmstack-nginx-serial-console-config svmstack-ssh-websocket

改名启用 config.ini 配置文件(如果没有,手动创建文件)。

mv /usr/local/solusvm/data/config.ini.example /usr/local/solusvm/data/config.ini

编辑此文件,在文件尾部加上如下两个 noVNC 参数设置。

vi /usr/local/solusvm/data/config.ini
[NOVNC]
;; Set this to true if you want noVNC to access the websocket with the remote servers hostname. All the hostnames must resolve correctly. Default (false) is to use the ip address of the remote server
use_remote_hostname = true

;; Set this to true if you want the socket on the host to forward packets across the public network
socket_dest_public = false

3. 检查 SolusVM 主控节点主机名是否设置正确,菜单栏 Nodes -> List Nodes,点击编辑图标查看。

如果没有设置正确(应设置主控面板使用的域名),SSH 登录主控服务器修改主机名(CentOS 6)。

修改 /etc/sysconfig/network 文件,将里面 HOSTNAME 值改为主机名,例如 cp.example.com。

然后运行下面命令

hostname "cp.example.com"

在 /etc/hosts 文件里添加一行将服务器 IP 绑定到主机名。

xxx.xxx.xxx.xxx cp.example.com

reboot 重启服务器使设置生效。之后在 SolusVM 主控节点设置里更新主机名。

4. 将主控面板使用的域名 SSL 证书生成 cert.pem 文件放到 VNC 配置目录,并重启 Web 服务。

cd /usr/local/svmstack/nginx/ssl
cat ssl.key ssl.crt > /usr/local/solusvm/includes/nvnc/cert.pem
service svmstack-nginx restart

如果没有配置域名 SSL 证书,可参考之前 SolusVM 安装一文,里面有介绍。

5. 之后登录用户前台,测试 HTML5 noVNC 控制台连接是否正常。

HTML5 VNC Client SSL
HTML5 VNC 连接测试
退出移动版