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_SESSION
environmental variable)을 활성화했으며 자원 창에서 세션 쿠키를 보았지만 여전히 동일한 404 문제가 있습니다.
아치 리눅스 64 비트에서 Phusion Passenger 버전 4.0.40과 Meteor 0.8.1.2를 사용하고 있습니다.