Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: HELP! fastcgi_cache_bypass - оно вооб ще работает хоть у кого-н ить?
Hello!
On Thu, Feb 24, 2011 at 03:19:52PM +0300, Влад Максимов wrote:
> Наткнулся на неприятное: не работает fastcgi_cache_bypass.
> Или я просто не умею его готовить, что тоже возможно.
[...]
> fastcgi_no_cache $arg_nocache;
> fastcgi_cache_bypass $arg_nocache;
>
> fastcgi_cache_bypass $arg_skipcache;
> }
> ...
>
> Если я правильно понимаю документацию, то при обращении
> http://mydomain.com/cached/block/someData/ - nginx обратится к бэкенду,
> закеширует ответ на 1 день и содержимое ответа отдаст клиенту.
> При этом если я обращусь с ?skipcache (
> http://mydomain.com/cached/block/someData/?skipcache=1 ) то nginx не должен
> искать эти данные в кеше, а должен обратиться на бэкенд за свежими данными,
> после чего уже положить их в кеш и отдать клиенту.
>
> И вот тут начинается самое интересное:
> 1. если я обращаюсь http://mydomain.com/cached/block/someData/ - всё
> работает, как и предполагалось - кешируется ответ бэка, и последующим
> запросам клиентов отдаётся всё из кеша
> 2. если я обращаюсь http://mydomain.com/cached/block/someData/?skipcache=1
> - всё ломается. При этом в зависимости от размера ответа бэка, этот ответ
> всё-таки может оказаться в кеше и попасть клиенту (но очень серьёзно
> побитый), или же я в логе получу строчку в духе upstream sent unsupported
> FastCGI protocol version: 118 while reading upstream, client: 192.168.1.5,
> server: some.trashcan.dev, request: "GET /cached/block/someData?skipcache=1
> HTTP/1.1", upstream: "fastcgi://127.0.0.1:9005", host: "some.trashcan.dev"
> 3. однако если я обращусь
> http://mydomain.com/cached/block/someData/?nocache=1 (то есть пробрасывать на
> бэк и при этом не сохранять в кеш) - тоже всё будет работать.
>
> Что делать? Куда копать?
> Что я пропустил или не понял?
Known issue.
*_cache_bypass работает корректно только если есть такой же
*_no_cache.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|