Hello! On Wed, Oct 04, 2017 at 04:22:32AM -0400, Aleksandr_Petrov wrote:
> nginx version: nginx/1.12.1 > > Вот при таком формате логов: '[proxy ($upstream_cache_status) : $proxy_host > $upstream_addr $upstream_response_time $upstream_status ], когда все > работает логи пишутся правильно. Но когда хосты в апстримах выдают ошибки в > логах отображается что-то не понятное. Вот примеры: > 1 [proxy (-) : - ip1:port1, ip2:port2 7.133, 13.312 502, 502 ] > 2 [proxy (-) : - ip1:port, ip2:port, ip3:port, ip4:port, ip5:port, > ip6:port, upstream1 7.260, 7.168, 7.168, 7.168, 7.168, 7.168, 0.000 502, > 502, 502, 502, 502, 502, 502 ] > > В первом примере нет $proxy_host, Переменная $proxy_host доступна только непосредственно в том location'е, где осуществляется проксирование. Соответственно если в конфигурации страницы ошибок перенаправляются с помощью директивы erro_page, где проксирование не используется, то пустое значение ожидаемо. > а во втором $proxy_host нет на своем > месте, но он появился в списке адресов апстримов (upstream1). Название upstream'а попадает в переменную $upstream_addr тогда, когда конкретный сервер выбран быть не может, потому что все имеющиеся сервера признаны неработающими. В это же время в логе ошибок будет ошибка про "no live upstreams". -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru