我們是完全被卡住並會喜歡從別人誰在WSS工作,知道一些雲基礎設施的幫助。的WebSocket服務器沒有得到當WS握手://改爲WSS://
我們在類似this風格構建了一個定製的WebSocket服務器。服務器在端口45001上的Azure虛擬機上運行。客戶端是我們的網站(HTML/Javascript)。 websocket uri是'ws:// endpointname:45001'服務器將獲得握手請求併發送適當的響應並建立連接。客戶和服務器每次都愉快地交流!
我們安裝在那裏我們的網站是在Azure上託管SSL證書的那一刻,瀏覽器要求我們轉換WS調用WSS://。通過這樣做,到達服務器端口的第一條消息就是HTTP升級請求,現在是服務器無法理解的一些加密消息!
任何想法,爲什麼服務器虛擬機是沒有得到一個HTTP升級請求?
的事情,我們嘗試:
- 安裝在VM中的端口45001的證書。沒有運氣。不知道虛擬機甚至不知道如何使用此證書解密。
- 在本地運行服務器並讓瀏覽器通過wss連接。服務器仍然有奇怪的加密消息。在當地environnment,在什麼基礎上呢
真的很感激,如果有人可以提供幫助。!
謝謝!我編輯了我的帖子,澄清我們在url中指定了端口號。你能回答1)在ws://模型中,我們只是簡單地迴應客戶端收到端口上的第一條消息,這是一個升級請求,同意升級並提供其他必要的東西。現在我們正在通過wss接收消息,這是否意味着我們需要發回消息並以編程方式進行握手? 2)證書安裝在VM端口上。這足以讓服務器自己進行握手,然後我們得到升級請求嗎? – TkNeo
請閱讀有關如何啓用HTTPS的Azure文檔([爲Azure中的應用程序配置SSL](https://azure.microsoft.com/zh-cn/documentation/articles/cloud-services-configure-ssl-certificate/)和[爲Azure應用服務中的應用啓用HTTPS](https://azure.microsoft。com/en-us/documentation/articles/web-sites-configure-ssl-certificate /)),另請參閱[如何在Azure虛擬機中設置Web服務器](https://www.nimbo.com/博客/如何到設置-AN-Azure的虛擬機作爲一種Web服務器/)。 –
您嚮應用服務添加證書的第二個鏈接(我們的前端應用程序-HTML),我們已經實現了它。 您的第一個鏈接適用於沒有虛擬機的經典雲服務。由於我們有一個虛擬機,它不適用於我們。請參閱http://serverfault.com/questions/722796/install-ssl-certificate-on-azure-cloud-service-vm我們按照[這裏]所述向VM添加了證書(https://msdn.microsoft.com/zh-cn/ -us /庫/ ms733791(v = vs.110)的.aspx)。關於爲VM配置VM的第三個鏈接也是[實施](http://take.ms/ohCft)。有什麼想法做什麼? – TkNeo