2013-11-28 80 views
8

我試圖創建一個可以連接到本地客戶端WebSocket服務器的網頁。這個想法是使用瀏覽器中運行的JavaScript客戶端作爲代理的一種,以實現遠程Web服務器和實現WebSocket服務的本地安裝的客戶端應用程序之間的通信。如何通過https加載的網頁連接到在本地主機上運行的WebSocket服務器?

因此,我會做的是從https://example.com加載一個網頁,其中包括一些JavaScript,打開一個新的WebSocket到ws:// localhost:1234/context。 只要通過http訪問網頁,就可以正常工作。 然而,只要使用https,Firefox和Internet Explorer 拒絕連接並且WebSocket構造函數拋出一個異常(SecurityError,code 18)。 現在,我已經發現Mozilla的建議,指出https站點應該只使用安全(wss://)WebSockets,純http站點應該只使用普通的WebSocket(link)。但是,在https環境中連接到本地主機時,我並不真正看到安全問題。此外,這對Chrome,Opera和Safari來說非常有用。

所以真正的問題是:有什麼辦法解決這個問題?就像在網頁中引入一個非https內容或類似的東西,讓所有的瀏覽器從https內容的網頁中連接到ws:// localhost?

非常感謝!我不完全是一個Web開發人員,所以這種特定於瀏覽器的行爲並不在我的專業領域:)

回答

1

您必須首先接受證書。

你可以通過簡單地去https://localhost:1234/context,在你的情況。完成後,您可以在問題中使用wss網址。

相關問題