Re: Не работает map c переменными $status и $upstream status

Pavel V. pavel2000 на ngs.ru
Ср Авг 3 11:57:15 UTC 2016


Здравствуйте, YuriV.

Вы писали 3 августа 2016 г., 18:29:28:

> Pavel V.
> Вы хотите странного - придумали какие-то "заголовки кэширования от
> бэкенда", но смысла их так и не объяснили.

> Ну дык в документации nginx есть объяснение   -
> http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_valid

> Там сказано, что директивой proxy_cache_valid можно задать время жизни кэша
> для разного вида респонза. Но там же есть и оговорка, что это не будет
> работать, когда время кэширования в заголовке Cache-Control от бэка
> приезжает - этот заголовок перебивает настройки proxy_cache_valid. И вот
> если бэк по какой-то, одному ему ведомой причине отдаст файлик с
> неправильным кодом, но с заголовком Cache-Control, то это дело убъет нафиг
> весь функционал :(, пока неверный респонз из кэша не выковырять...

Теперь гораздо более понятно. Но там же еще есть ссылка на
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers

Это для вас не вариант?

> Странно, почему разработчик не предусмотрел такой вариант работы nginx..
> У принципе, конечно, можно покопаться грязными ручками в недрах кода, дабы
> выпилить оттудова кэширование всех респонзов, кроме нужного 200-го, но это
> как-то неправильно..

Если ковыряться в недрах кода, то наверное можно впилить в proxy_ignore_headers
поддержку переменных с целью задавать значение директивы по изначально
предполагаемой вами схеме. Насколько я понимаю документацию, сейчас ни
proxy_cache_valid ни proxy_ignore_headers переменные не поддерживают.

-- 
С уважением,
 Pavel                          mailto:pavel2000 at ngs.ru



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