zoukankan      html  css  js  c++  java
  • websockify文档

    一、官网地址

      地址:https://github.com/novnc/websockify

    二、开启代理

      1、单台服务器

    python /usr/local/websockify/websockify.py --cert /usr/local/websockify/self.pem 6080 192.168.20.134:5901
    

      self.pem可使用OpenSSL来生成,然后放在目录下,当然也可以不加cert参数

    openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
    

       

      2、多台节点服务器

      在实际应用中,不可能为每台虚拟机都架一个代理,这种方式对端口号的消耗也是巨大的,同时 VNC 通常是集成在前端页面,那有没有可能仅开一个端口,而实现代理多台虚拟机呢,答案自然是可以。

      在 websockify 项目的 Wiki 主页(https://github.com/novnc/websockify/wiki/Token-based-target-selection)介绍了实现一个端口,多个代理的方法。

      在 websockify 项目的 Wiki 主页介绍了实现一个端口,多个代理的方法。

      实现的原理就是 websocketproxy.py 这个代理从一个指定的 token 目录读取 token 文件,一个 token 文件通常对应一台客户机(虚拟机)。token文件内容形如 token1: host1:port1 ,这里的 token1 是全局唯一的一个字符串标识,host1 是客户机(虚拟机)所在的宿主机的 ip 地址,本例中就是 Node1 的 ip,而 port1 是客户机(虚拟机) VNC Server 的端口号,本例中就是 Guest1 的 VNC Server 的端口号。因此,本例中名为 generic 的客户机(虚拟机)Guest1 的 token 文件内容为:

    vnc123: 192.168.20.134:5901 
    vnc234: 192.168.20.134:5902 
    vnc345: 192.168.20.133:5901
    

      注意: 一个 token 文件可以对应一台客户机(虚拟机),一个 token 文件也可以对应多台客户机(虚拟机)。为了方便编程和管理,通常是一对一的关系,统一放在token目录下。

    [root@node2 websockify]# ll /usr/local/websockify/token/  
    -rw-r--r-- 1 root root 28 5月  29 16:46 vnc123
    -rw-r--r-- 1 root root 28 5月  29 16:46 vnc234
    -rw-r--r-- 1 root root 28 5月  29 16:46 vnc345
    

       

      3、启动代理

    /usr/local/websockify/run --token-plugin TokenFile --token-source /usr/local/websockify/token/ 6080
    

      如果是单个token文件,可以使用以下命令启动

    /usr/local/websockify/run --target-config /usr/local/websockify/token/token 6080
    

       

    三、访问vnc

      使用Chrome、Firefox等浏览器访问(浏览器需支持html5

      我本人自己根据novnc的api文档,写了一个简单的demo,放在nginx服务下  http://192.168.20.111/vnc.html?token=vnc123

      如果是在novnc中启动websockify,则需要带--web参数,访问地址如下  http://192.168.20.121:8080/vnc.html?path=?token=vnc123

      PS:一定要带path=这个参数

  • 相关阅读:
    [导入]简单而强力的JS退弹代码(强制 弹出)
    [导入]在上传的图片上写字
    [导入]无法创建WEB项目文件路径与URL不符 处理方法
    [导入]ASCII码表完整版
    [导入]访QQ/MSN淡出窗口例子二则
    [导入]生成图片缩略图
    [导入]javascript调用webservice例子
    在字典的三级菜单中添加内容
    服务列表中找不到mysql
    CentOS 7安装后的配置
  • 原文地址:https://www.cnblogs.com/rnckty/p/10945051.html
Copyright © 2011-2022 走看看