Не работает proxy_cache_use_stale ?

Igor Sysoev is at rambler-co.ru
Wed May 6 16:29:48 MSD 2009


On Wed, May 06, 2009 at 03:18:35PM +0300, Flam Boyant wrote:

> Вот какой еще заметил эффект - если из кеша берется несвежий файл (скажем
> если бекенд дает 500 ошибку) - в логах это отображается почему то как
> получение файла с бекенда.
> Пример.
> Логи описаны как
> 
> log_format main '$remote_addr - $remote_user [$time_local] "$request" '
>   '"$status/$upstream_status" $body_bytes_sent '
>   '"$host" "$upstream_addr/$upstream_response_time"';
> 
> Запрашиваем файл
> 192.168.7.6 - - [06/May/2009:14:16:41 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.245"
> 
> Дальнейшие запросы в течении 5 минут достают его из кеша -
> 192.168.7.6 - - [06/May/2009:14:16:43 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:16:53 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:16:53 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 
> То есть $upstream_status, $upstream_addr и $upstream_response_time равны
> "-".
> Далее ждем 5 минут, ломаем test.cgi и снова запрашиваем файл.
> Он достается из кеша, но в логах видим вот что -
> 
> 192.168.7.6 - - [06/May/2009:14:24:25 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
> 192.168.7.6 - - [06/May/2009:14:24:26 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.041"
> 192.168.7.6 - - [06/May/2009:14:24:26 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
> 192.168.7.6 - - [06/May/2009:14:24:27 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.040"
> 
> Если починить test.cgi и запросить его снова - все Ок, файл запрашивается с
> бекенда и снова кешируется -
> 192.168.7.6 - - [06/May/2009:14:24:36 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/200" 23 "www.xxx.net" "127.0.0.1:8000/0.055"
> 192.168.7.6 - - [06/May/2009:14:24:37 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 192.168.7.6 - - [06/May/2009:14:24:37 +0300] "GET /cgi/test.cgi HTTP/1.0"
> "200/-" 23 "www.xxx.net" "-/-"
> 
> Это баг или фича?
> Если фича,то можно как нибудь отображать факт неработоспособности бекенда?

Да, пока факт кэширования не отображается.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list