Re: "proxy_cache_valid 400" -- возможно ли?

Juriy Strashnov juriy.foboss на gmail.com
Чт Окт 8 10:34:12 UTC 2015


Спасибо большое! Не догадался, что кеш работает, а заголовок не пишет.

add_header X-Cached $upstream_cache_status always; начало вставлять
заголовок и в 400е ответы.

HTTP/1.1 400 Bad Request
Server: nginx
Date: Thu, 08 Oct 2015 10:29:40 GMT
Content-Length: 0
Connection: keep-alive
*X-Cached: HIT*

2015-10-08 13:21 GMT+03:00 Sergey Kandaurov <pluknet на nginx.com>:

> On Oct 8, 2015, at 12:09 PM, Juriy Strashnov <juriy.foboss на gmail.com>
> wrote:
> > Коллеги, всем привет!
> >
> > Возникла нужда кратковременно кешировать ответы backend'a. Проблема в
> том, что надо не только код 200, но и 400.
> >
> > Попробовал так (в лоб):
> >
> > proxy_cache_path /var/cache/nginx/apicache levels=1:2
> keys_zone=apicache:10m;
> >
> > location /api {
> >         <...>
> >
> >         proxy_cache apicache;
> >         proxy_cache_use_stale error timeout updating;
> >         proxy_cache_lock on;
> >         proxy_cache_valid any 30s;
> >         proxy_cache_valid 400 30s;
> >         proxy_cache_methods POST;
> >         proxy_cache_key "$request_uri|$request_body";
> >
> >         proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
> >
> >         add_header X-Cached $upstream_cache_status;
> > }
> >
> > Не помогло! Если на код 200 в ответе появляется заголовок:
> >
> > HTTP/1.1 200 OK
> > Server: nginx
> > Date: Thu, 08 Oct 2015 08:54:38 GMT
> > Content-Length: 0
> > Connection: keep-alive
> > X-Cached: HIT
> >
> > то на 400 его уже нет:
>
> Используйте параметр always, подробности тут:
> http://nginx.org/r/add_header/ru
>
> См. также debug log на предмет сообщений “file cache send”.
>
> --
> Sergey Kandaurov
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
Best regards, Juriy Strashnov

Mob. +7 (953) 742-1550
E-mail: j.strashnov на me.com

Please consider the environment before printing this email.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20151008/f1d8bf3a/attachment.html>


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