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