2017-02-09 115 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