2014-03-25 76 views
0

我的节点服务器和Faye被配置为在端口3000上运行。我在apache中设置了以下内容,使其通过端口80运行:在端口80上运行faye(对于node.js)而不是3000

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName server.com 
    DocumentRoot /var/www/html/nodejs-chat 
    ProxyPass/http://localhost:3000/ 
    ProxyPassReverse/http://localhost:3000/ 
</VirtualHost> 

这个伟大的工程,不同的是,我有以下设置了王菲,客户端的事实:

var client = new Faye.Client('http://188.0.0.1:3000/faye'); 

所以使用王菲的WebSockets,3000端口仍然被创建时使用客户端,我注意到许多防火墙阻止该连接,并且我的应用程序停止工作。

我似乎无法弄清楚如何还代理反向客户端代码。 我已经试过:

var client = new Faye.Client('http://server.com/faye'); 

但是没有发挥出来:

WebSocket连接到 'WS://server.com/faye' 失败:错误的WebSocket握手期间:意外响应代码:400

有没有人与Faye做过同样的事情?

回答

0

我发现问题是什么。如果其他人有这个问题,这里的交易:

Apache 2.2不真的支持代理网络套接字。有一个模块可用,但它需要你手动重建apache,这不是我想要的路线。

我所做的就是将apache交换为nginx,即使与反向代理结合使用,也很好地支持web套接字。

相关问题