2014-05-22 27 views
1

我運行在Nginx的整合模式,乘客捆綁流星應用程序,一切工作除了當sockjs回落到XHR請求。與後面跑客運流星應用404ing sockjs XHR請求/ NGINX

我在我自己的應用程序排行榜示例中得到了此行爲(我還沒有測試其他示例)。

可以通過禁用使用DISABLE_WEBSOCKETS環境變量網絡插座進行測試。

我的網站nginx的配置看起來像這樣

server 
{ 
    server_name    ng; 
    root     /var/www/mysitename/public; 

    charset utf-8; 

    passenger_enabled  on; 
    passenger_set_cgi_param MONGO_URL mongodb://localhost:27017/mydbname; 
    passenger_set_cgi_param ROOT_URL http://mysitename; 
    passenger_set_cgi_param DISABLE_WEBSOCKETS 1; 
    passenger_set_cgi_param PASSENGER_STICKY_SESSION true; 
} 

然後,當我去到現場,打開在Chrome的開發者控制檯,網絡面板,我得到這樣的

... 
POST http://mysitename/sockjs/158/ck8pi__5/xhr_send 404 (Not Found) 
POST http://mysitename/sockjs/519/4hgc4rgr/xhr_send 404 (Not Found) 
POST http://mysitename/sockjs/672/6gq99fp5/xhr_send 404 (Not Found) 
POST http://mysitename/sockjs/682/sx0e2w_v/xhr_send 404 (Not Found) 
... 
錯誤

本質上,它不斷創建新的連接,就像它不能繼續現有的連接一樣,這似乎只發生在XHR請求中,而不是websockets,因爲我猜XHR需要粘性會話狀態。

但我已啓用粘滯會話(PASSENGER_STICKY_SESSIONenvironmental variable),並在資源窗格中看到會話cookie,但它仍然具有相同的404問題。

我使用Phusion客運版本4.0.40和流星0.8.1.2對Arch Linux的64位。

回答

1

的Phusion客運筆者在這裏。這是由Phusion Passenger中的問題引起的,詳情請參閱Github issue 1198。目標是在下一個版本4.0.45中完成所有這些工作。

粘性會話是必要的。我們將添加關於Meteor的文檔以及啓用粘性會話的需求。