2014-03-25 104 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套接字。

相關問題