
프런트엔드와 백엔드를 위한 별도의 서버가 있는 API First 앱이 있습니다.
프런트엔드는 정적 Angular 사이트를 제공하는 NGINX 서버입니다. 백엔드는 Play Scala 서버입니다.
최근에는 더 이상 CORS를 사용하지 않기 위해 다음과 같이 블록을 사용하여 /api
전달하도록 모든 항목을 보냈습니다.api.myapp.com
location /api/ {
proxy_pass https://api.myapp.com/;
}
가끔씩 프런트엔드 서버가 더 이상 요청 전달을 중지하고 일부 요청이 통과하더라도 계속 502를 반환한다는 점을 제외하면 모든 것이 잘 작동하는 것 같습니다.
NGINX 서버를 다시 시작하면 모든 것이 정상입니다.
NGINX 로그를 보면 /api 요청에 대해 499 오류가 많이 표시됩니다.
[15/Jan/2017:22:31:18 +0000] "GET /api/1/users/tzXWM4hNAHUvT9SfA-pAGA/organizations?v=3 HTTP/1.1" 499 0 "https://app.myapp.com/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" "10.225.158.152"
백엔드 로그를 보면 502를 반환하는 요청이 실제로 백엔드에 도달하지 않습니다.
NGINX가 어떻게든 일부 URL을 제한하거나 백엔드 서버가 어떤 이유로 사라졌다고 생각합니까?
나는 Apache에서 유사한 작업을 수행하기 위해 ProxyPass 지시문에 대해 retry=0을 설정해야 한다는 것을 알고 있습니다.