
Eu tenho um aplicativo API First que possui servidores separados para front-end e back-end.
O frontend é apenas um servidor NGINX que atende um site Angular estático. O back-end é um servidor Play Scala.
Recentemente, para não precisar mais usar o CORS, fiz qualquer coisa enviada para /api
encaminhar para api.myapp.com
usar um bloco como este:
location /api/ {
proxy_pass https://api.myapp.com/;
}
Tudo parece funcionar bem, exceto que de vez em quando o servidor front-end para de passar mais solicitações e continua retornando 502s, embora algumas solicitações sejam processadas.
Se eu reiniciar o servidor NGINX, está tudo bem.
Se eu olhar os logs do NGINX, vejo vários erros 499 para as solicitações/api.
[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"
Se eu olhar os logs de back-end, as solicitações que retornam 502 nunca chegam ao back-end.
O NGINX estaria limitando alguns URLs de alguma forma ou pensando que o servidor back-end desapareceu por algum motivo?
Eu sei que no Apache para fazer algo semelhante tive que definir retry=0 para a diretiva ProxyPass.