我運行在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_SESSION
environmental variable),並在資源窗格中看到會話cookie,但它仍然具有相同的404問題。
我使用Phusion客運版本4.0.40和流星0.8.1.2對Arch Linux的64位。