需要准备一个服务器做http服务,其他server的vnc都将这个http服务器作为跳板
在需要用来产生网页vnc的服务器或虚拟机上下载novnc
解压后./utils/launch.sh –vnc x.x.x.x:port
即将vnc起在了某个端口上
这时候http服务器做一个mapping,简单起见,这里用flask,性能很差,如果考虑性能,要考虑nginx
from flask import Flask, request
import os
port_start = int(6082)
app = Flask(__name__)
@app.route('/vnc/<host>')
def hello(host):
global port_start
output = os.system('./utils/launch.sh --vnc ' + host + ' --listen ' + str(port_start) + " &")
result = "visit http://10.124.8.35:" + str(port_start) + "/vnc.html"
port_start += 1
return result
if __name__ == '__main__':
app.run(host="0.0.0.0",
port=int(5000))
这里的10.124.8.35是我跳板机的地址