天天看點

智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

作者:華雲資料
智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

在各種雲計算平台中,都會提供一個連接配接虛拟機控制台的URL位址,有些遠端控制台位址是以noVNC來提供通路的。noVNC可以讓使用者直接使用浏覽器很友善地操作虛機,無需再安裝另外的程式。但有的URL位址直接就暴露了虛機所在的節點IP,這樣就可能直接影響雲平台的安全性。

為了不直接暴露虛機節點資訊,就需要我們對URL位址、noVNC傳回的頁面資訊進行攔截轉換。

  1. 擷取noVNC位址
智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

1.首先用戶端通過請求API的方式擷取noVNC可通路的URL。

2.中間服務從noVNC伺服器清單中擷取對應的noVNC位址。

3.中間服務将擷取到noVNC位址進行截取改造,保證新的URL裡沒有noVNC伺服器的IP和端口号。

4.根據本次請求生成一個新的Token,并将生成的Token內建到新的URL中。

5.将Token和原來URL對應關系儲存在中間層服務的轉發路由資訊中,包括HTML的URL和WebSockets的URL對應關系,并傳回新生成的URL。

6.客戶擷取到了新URL,這個新的URL是經過基于中間層微服務進行過轉義過的URL。

  1. 轉發noVNC位址
智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

1.用戶端根據新的URL,在浏覽器中輸入新的URL位址。

2.浏覽器會根據新URL請求中間服務,中間服務修改URL請求的HTTP中header參數為Host和Origin資訊。

3.修改Header資訊之後,根據路由中的資訊轉發HTTPS或者WebSocket請求到noVNC伺服器上。

4.中間層微服務接受到noVNC伺服器傳回HTML資訊之後,替換掉HTML裡包含伺服器節點位址和端口号。

5.中間層微服務處理好資訊之後,把資訊傳回給用戶端浏覽器。

  1. 效果

轉發前noVNC位址:

智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

轉發後noVNC位址:

智彙華雲 | 隐藏noVNC伺服器IP和端口号的方式

繼續閱讀