内网项目中引入NoVnc服务

内网项目中引入NoVnc服务

背景

目前项目中,管理的实例底层为虚拟机,而在用户或运维人员管理具体的实例时,需另外启动VNC Viewer客户端才能配置实例,增加了操作复杂性,所以准备采用web vnc的方式,更快捷更方便的在网页上操作

目标

在项目页面中,选择相应的实例,点击远程进入vnc页面
在这里插入图片描述

方案

1、项目所在服务器上(liunx系统)部署novnc服务,前台通过访问url的方式进入vnc页面
2、因为是内网项目,所以首先需要获取novnc的离线安装包及其依赖包,这里我整理好了,有需要的可以下载(里面附带一键安装的脚本)
(链接:https://pan.baidu.com/s/1jD3f7mzfd5aZHysHwK8uLQ 提取码:v70u)
3、部署完成后,在/usr/share/novnc/conf下创建文件:tokens.conf,里面的内容格式为:虚拟机标识: ip:端口号,注意虚拟机标识的冒号后面有空格哈,一条虚拟机一行
4、前台点击某个实例,只需访问url(地址附带虚拟机标识参数)即可进入vnc页面
5、如果是在线项目,无需离线部署,请看如下的部署步骤:

部署步骤

1、在线安装novnc

wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum install novnc

2、设置novnc配置文件

mkdir -p /usr/share/novnc/conf && cd /usr/share/novnc/conf
vi tokens.conf

tokens.conf的内容举例如下:
host1: 192.168.1.10:8001
host2: 192.168.1.11:8002
这里的host1作为虚拟机标识可随意设置
格式要求为:虚拟机标识: ip:端口号
注意标识冒号后面有空格

3、生成证书和密钥以供 Websockify 加载

openssl req -x509 -nodes -newkey rsa:2048 -keyout /usr/share/novnc/conf/self.pem -out /usr/share/novnc/conf/self.pem -days 365 -batch

4、websockity实现代理到目标机器,这里设置的端口号为23017,可随意修改,可以理解为启动后novnc的服务端口就是此端口

websockify -D --web=/usr/share/novnc/ --cert=/usr/share/novnc/conf/self.pem 23017 --target-config=/usr/share/novnc/conf/tokens.conf

完成后验证效果

在浏览器输入:https://novnc所在服务器地址:novnc的服务端口/vnc_auto.html?path=/conf?token=虚拟机标识
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值