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