我試圖創建一個可以連接到本地客戶端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開發人員,所以這種特定於瀏覽器的行爲並不在我的專業領域:)