C++에서 고성능 HTTP 이벤트 서버를 작성했으며 nginx 및 PHP-FPM (fastcgi)에서 완벽하게 작동하도록하고 싶습니다. 이것은 내 nginx 구성의 스 니펫입니다. 이벤트가있는 경우nginx POST를 @fallback에 전달하지 않음
location ~ \.eve$ {
gzip off;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://127.0.0.1:9001;
proxy_intercept_errors on;
error_page 505 = @fallback // this is actually BACKEND.php
}
내 이벤트 서버는 505 오류를 반환 그렇지 않으면 중단, 결국 내가 JS로 처리하거나 무엇을 가지고 (이 기본적으로 혜성이다)에 "NO STATE CHANGE"지시문을 반환합니다. 요점은 nginx가 505 오류를 포착하여 PHP에 요청을 전달하여 PHP가 이벤트를 적절히 처리 할 수 있기를 바란다는 점입니다. 내 서버는 기본적으로 이벤트 허브에 불과하므로 많은 사용자가 새로운 이벤트가 있는지 확인하고 연결할 수 있습니다. 이벤트가 있으면 PHP는 사용 권한 및 기타 변동 사항을 포함하여 이벤트 배포를 처리합니다.
문제는 nginx가 * .eve로 전달 된 POST (또는 GET) 변수를 BACKEND.php로 전달하지 않는다는 것입니다. 이제는 이것이 의도적으로 (error_page 지시자로 인한) 것으로 추측하지만, 그것을 작동시키는 방법이 있어야한다고 생각했습니다. 내 서버는 9001에서 실행되고, PHP-FPM은 9000에서 실행됩니다. 어떤 아이디어입니까?
StackOverflow에는 58257 개의 "답이없는 질문"이 있습니다. 이 경우 자신의 답을 수락하면 문제 번호를 낮추는 데 도움이됩니다 (문제를 직접 해결 한 이후). –