0
我想在我的服务器(与Apache 2服务器的Ubuntu)部署从official sample节点JS socket.io项目PROXYPASS插座IO在Ubuntu
这是/etc/apache2/sites-available/000-default.conf
ProxyPass /ChatSocket http://localhost:3000
ProxyPass /socket.io http://localhost:3000/socket.io
ProxyPass /socket.io ws://localhost:3000/socket.io
我的代理服务器设置
但是当我尝试通过dns访问我的web服务器时,我无法连接到套接字。
我在浏览器控制台得到这个错误
WebSocket connection to 'ws://example.com/socket.io/?EIO=3&transport=websocket&sid=HgU6py-fCl1GFrdsAAAK' failed: Error during WebSocket handshake: Unexpected response code: 400
也许因为URL http://example.com/socket.io与WS相冲突://example.com/socket.io
我怎样才能使用的WebSocket和http具有相同的网址?因为它似乎http://example.com/socket.io和WS://example.com/socket.io由socket.io从这一行产生
var server = require('http').createServer(app);
var io = require('socket.io')(server);
是否有其他变通方法来解决这个问题,还是部署我socket.io节点的js应用程序在我的Apache服务器没有proxypass?