2013-06-24 2 views
0

Node.js (https : // domain.com:81)에 직접 액세스하면 전체 응답을 얻습니다. 내가 Nginx (https : // domain.com/eval/something)를 통과 할 때, 꽤 큰 반응이있는 경우 전체 응답을 얻지 못합니다.Nginx가 Node.js에서 긴 응답을 끊는 이유는 무엇입니까?

구성 파일

location ~ ^/eval/ { 
    proxy_buffering off; 
    proxy_pass   https://domain.com:81; 
} 

편집 : 그것은 16kB의 것보다 더 이상 반환하지 않습니다. 전체 응답은 160kB 이상입니다.

의 nginx의 디버그 파일 :이 해결 https://www.dropbox.com/s/4689ch6lonxsqrn/nginx.log

는 : 문제는 https://domain.com:81로했다. http:// 만 설정하면 올바르게 작동합니다.

+0

두 URL의 응답 HTTP 헤더가 동일합니까? –

+0

같은. HTTP/1.1 200 OK 서버 : nginx를/0.7.67 날짜 : 2013년 6월 24일 (월) 그리니치 표준시 14시 29분 50초 콘텐츠 형식 : 응용 프로그램/JSON 전송 - 인코딩 : 연결 유지 액세스 -을 : 연결 청크 Control-Allow-Origin : * 연결 : 닫음 – itrinity

답변

0

proxy_buffering으로 시도한 적이 있습니까? 어쩌면 노드는 대답하기 오래 걸리고 nginx는 읽는 것을 멈 춥니 다. proxy_read_timeout (기본값은 60 초)을 늘려보십시오.

+0

둘 다 시도했지만 여전히 문제가 있습니다. – itrinity

+0

[디버그 로그] (http://nginx.org/en/docs/debugging_log.html)를 활성화하고 단일 요청을 캡처하여 질문에 결과를 추가하십시오. – Fleshgrinder

+0

질문에 대한 디버그 로그 파일에 대한 링크를 추가했습니다. – itrinity

관련 문제