How to write $upstream_trailer_{name} into access.log

Andrey Kopeyko andrey на kopeyko.ru
Сб Май 22 22:25:22 UTC 2021


Gena Makhomed писал 2021-05-23 01:00:
> Здравствуйте, All!

Добрый день, Геннадий!

> Использую nginx/1.19.10 из официального репозитория nginx.org
> 
> На бэкенде в секции http прописал такие директивы:
> 
> add_trailer X-Response-Time $upstream_response_time always;
> add_trailer X-Cache-Status $upstream_cache_status always;
> 
> На фронтенде в секции http прописал proxy_http_version 1.1;
> Также на фронтенде в директиву log_format добавил переменные:
> 
> $upstream_trailer_x_response_time $upstream_trailer_x_cache_status
> 
> Ожидается что в лог будут записаны полученные значения этих переменных,
> но вместо них в лог пишутся символы - - обозначающие пустые значения.
> 
> Почему так происходит?

Очевидно, потому что бэкенд _не_ возвращал вам заголовков 
"trailer-x-response-time: " - вы их сами выдумали.

А что вам мешает писать в лог значения $upstream_response_time и 
$upstream_cache_status из которых вы свои кастомные заголовки строите?

> Это ошибка в nginx или я что-то делаю не так?

-- 
Best regards,
Andrey A. Kopeyko <andrey at kopeyko.ru>


Подробная информация о списке рассылки nginx-ru