2014-05-22 8 views
1

nginx 통합 모드에서 승객과 함께 제공되는 Meteor 앱을 실행 중이며 sockjs가 XHR 요청으로 돌아갈 때를 제외한 모든 기능이 작동합니다.sockjs XHR이 Meteor 앱이 Passenger/NGINX 뒤에서 실행 중일 때 404ing을 요청합니다.

내 자신의 앱에서이 동작이 발생합니다. 리더 보드 예 (다른 예는 테스트하지 않았습니다).

DISABLE_WEBSOCKETS 환경 변수를 사용하여 웹 소켓을 비활성화하여 테스트 할 수 있습니다. 나는이 사이트에 가서 내가이

... 
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) 
... 
같은 오류를 얻을 크롬에서 개발자 콘솔의 네트워크 패널을 열 때

사이트에 대한 나의의 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; 
} 

처럼 보인다

기본적으로 새로운 연결을 계속 유지합니다. 기존 연결을 계속할 수 없기 때문에 XHR 요청에 대해서만 발생하는 것으로 보입니다. 웹 세션이 아닌 XHR에서 고정 세션 상태가 필요합니다.

하지만 나는 끈적 세션 (PASSENGER_STICKY_SESSIONenvironmental variable)을 활성화했으며 자원 창에서 세션 쿠키를 보았지만 여전히 동일한 404 문제가 있습니다.

아치 리눅스 64 비트에서 Phusion Passenger 버전 4.0.40과 Meteor 0.8.1.2를 사용하고 있습니다.

답변

1

Phusion Passenger 작성자입니다. 이것은 Phusion Passenger의 문제로 인해 상세하게 설명되어 있습니다 (Github issue 1198). 목표는 다음 버전 4.0.45에서 모든 작업을 수행하는 것입니다.

끈끈한 세션이 필요합니다. Meteor에 관한 문서와 끈적 거리는 세션을 활성화 할 필요성을 추가 할 것입니다.