Welcome! Log In Create A New Profile

Advanced

использование переменных $upstream* в директиве map?

May 06, 2014 12:29PM
Приветствую,
Пытаюсь избежать кеширования мелких ответов от апстрима таким образом:
map $upstream_http_content_length $dontcache {
default 0;
~^\d\d$ 1;
~^\d$ 1;
}

Но столкнулся с тем, что, судя по всему, nginx обрабатывает map до того, как получает заголовки от upstream, то есть переменные типа $upstream_http_content_length или $upstream_response_length получаются пустыми в момент обработки map (это видно в debug-логе, по строке "http map started"). С не-upstream переменными всё работает как задумано.

Вопрос — можно ли как-то добиться обработки map уже после похода к upstream-серверу, или надёжным ли будет решение с использованием $body_bytes_sent в качестве индикатора размера ответа апстрима?

Спасибо.
Subject Author Posted

использование переменных $upstream* в директиве map?

Kirill K. May 06, 2014 12:29PM

Re: использование переменных $upstream* в директиве map?

Kirill K. May 07, 2014 05:28PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 175
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready