2017-02-09 104 views
0

我試圖在本地機器上設置websocket來測試它,但我根本無法讓它工作,也找不到實際解決它的任何指南。Apache websocket設置

所以總結一下,有誰能告訴我我的設置有什麼問題嗎?

我運行Ububtu 16.04和Apache 2.4.18 我的mod_proxy和mod_proxy_wstunnel enabeled

我的Apache的配置看起來像這樣

<VirtualHost *:80> 
    ServerName socket.localhost 

    ProxyRequests Off 
    ProxyPass "/ws2/" "ws://localhost:8546/" 
    ProxyPass "/wss2/" "wss://localhost:8546/" 
</VirtualHost> 

在客戶端我有這個JavaScript

<script type="text/javascript"> 
    var socket = new WebSocket('ws://socket.localhost'); 
    socket.send('Test'); 
</script> 

而我正在運行

netcat -p 8546 -l 

要查看任何連接

而且最後我有這條線在我的hosts文件

127.0.0.1 socket.localhost 

每當我運行的JavaScript我得到的錯誤

Firefox can’t establish a connection to the server at ws://socket.localhost/. 

回答

1

你的JavaScript代碼應該使用地址ws://socket.localhost/ws2,因爲這是您在Apache代理配置中配置的內容。

你真的有一個websocket服務器運行在ws://localhost:8546?你沒有在你的描述中提到這一點。

+0

正如問題所述,我有netcat運行在端口8546,而不是一個websocket服務器,它會輸出任何發送給它,這是我需要測試,如果ProxyPass的工作。 你說得對,爲什麼它不工作。 – Zlug