proxy_next_upstream & HTTP 502
Ekaterina Kukushkina
ek на nginx.com
Пн Май 13 13:37:19 UTC 2019
Добрый день,
> On 12 May 2019, at 10:28, rihad <nginx-forum на forum.nginx.org> wrote:
>
> У нас стоит:
> proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
>
> Иногда в случае если один из апстримов в дауне в access.log появляются
> подобные строчки:
>
>
> 10.10.10.10 - S387DE34EI-1557637722 [12/May/2019:05:08:42 +0000] "GET
> /blah/blah HTTP/1.1" 502 12001 "-" "- example.com" "-"
>
> nginx логирует запрос только если попробовал все апстримы, или после
> каждого? Здесь больше похоже на второе. Можно ли как-то настроить чтобы
> логировался только результат последнего попробованного апстрима? Он и будет
> результатом запроса.
>
В большинстве случаев, в access лог логгируется один раз на клиентский
запрос независимо от того, сколько апстримов потрогано.
Несколько записей может быть, если nginx делает подзапросы (ssi, njs, etc)
и log_subrequest установлен в on. Либо при использовании нескольких
уровней проксирований на nginx. Полагаю, что это не ваш случай.
В access log имеет логгировать следующие переменные:
$status - итоговый ответ клиету (есть в дефолных форматах)
$upstream_addr - все потрогранные апстримы
$upstream_status - статусы потроганных апстримов
http://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables
--
Ekaterina Kukushkina
Подробная информация о списке рассылки nginx-ru