Обратный прокси-сервер NGINX начинает возвращать ошибки 502

Обратный прокси-сервер NGINX начинает возвращать ошибки 502

У меня есть приложение API First, в котором есть отдельные серверы для фронтенда и бэкенда.

Фронтенд — это просто сервер NGINX, который обслуживает статический сайт Angular. Бэкенд — это сервер Play Scala.

Недавно, чтобы больше не использовать CORS, я сделал так, чтобы все отправляемые данные /apiпересылались с api.myapp.comиспользованием такого блока:

location /api/ {

    proxy_pass https://api.myapp.com/;

}

Вроде бы все работает нормально, за исключением того, что время от времени сервер frontend перестает передавать запросы и продолжает возвращать ошибки 502, хотя некоторые запросы проходят.

Если перезапустить сервер NGINX, то все нормально.

Если я посмотрю логи NGINX, то увижу кучу ошибок 499 для запросов /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"

Если я посмотрю в логи бэкэнда, то увижу, что запросы, возвращающие код 502, на самом деле никогда не доходят до бэкэнда.

Будет ли NGINX каким-то образом ограничивать некоторые URL-адреса или думать, что внутренний сервер по какой-то причине отключился?

Я знаю, что в Apache, чтобы сделать что-то подобное, мне пришлось установить retry=0 для директивы ProxyPass.

Связанный контент