天天看點

novnc 通過websockify代理 配置多點通路

沒有圖形界面需要先安裝圖形界面
注意:
如果沒有安裝 Linux 圖形界面,則需要安裝:
rpm -qa |grep gnome 【檢查是否安裝了圖形界面】
yum groupinstall "X Window System" "Chinese Support" "Desktop" 【安裝】
下載下傳novnc用戶端
git clone https://github.com/novnc/noVNC.git
直接啟動noVnc
./utils/novnc_proxy --vnc localhost:5901
指定代理端口啟動noVnc
./utils/novnc_proxy --vnc localhost:5901 --listen localhost:6081
下載下傳websockify
git clone https://github.com/novnc/websockify.git
      

加密wss(非必須)

要使用 WebSocket 'wss://' URI 方案加密流量,您需要生成證書和密鑰以供 Websockify 加載。預設情況下,Websockify 加載證書檔案名,

self.pem

--cert=CERT

--key=KEY

 選項可以覆寫檔案名。您可以使用 openssl 生成自簽名證書。當要求提供通用名稱時,請使用将運作代理的伺服器的主機名:

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

配置websockify下的檔案,建立tokenfile vim檔案

t1: {your的IP}:5900

t2: {your的IP}:5901

啟動websockify

./run -v --token-plugin TokenFile --token-source ./tokenfile localhost:9090

配置nginx  

upstream novnc_ws {
        server localhost:9090; //websockify的位址
}

server {
        listen 5800;
        server_name localhost;


        add_header Vary Accept-Encoding;
        add_header X-Whom gzcj-prod-2;
        add_header Cache-Control no-cache;

        client_max_body_size 1024m;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_redirect off;

        location / {
                root noVNC;//檔案夾所在路徑;
                index vnc.html;
        }
        location /websockify {
                proxy_pass http://novnc_ws;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
        }
}
      

 重新開機nginx。

檢查vncserver是否安裝

rpm -qa | grep vnc

如果沒有,安裝

yum install tigervnc tigervnc-server -y

啟動服務

vncserver :1

啟動5900 + 1

修改密碼

vncpasswd

若開啟了防火牆,手動開啟端口

iptables -I INPUT -p tcp --dport 5902 -j ACCEPT

設定開機啟動

chkconfig vncserver on

然後通路這個網址就可以連結虛拟機了          http://{task伺服器IP}:5800/?path=websockify%3ftoken=t0{0~1}就可以通路