Re: пропуски fastcgi no cache
Maxim Dounin
mdounin на mdounin.ru
Ср Окт 6 18:28:47 MSD 2010
Hello!
On Wed, Oct 06, 2010 at 09:51:21AM -0400, n-sw-bit wrote:
> при установке параметров
>
> fastcgi_cache_min_uses 3;
> fastcgi_no_cache $cookie_nocache1
> fastcgi_no_cache $cookie_nocache2
> fastcgi_cache_bypass $cookie_nocache1
> fastcgi_cache_bypass $cookie_nocache2
>
>
> когда истекает срок жизни кеша ответ
> при наличии указанных кук иногда всё
> равно попадает в кеш.
> Понял я это, включив отладку в логе
>
> log_format cachetest
> '$time_local|$remote_addr|$request_time|$cookie_nocache1|$cookie_nocache2|$upstream_cache_status|$status|$request';
>
>
> И периодически в логе возникают
> строчки вроде
>
> 06/Oct/2010:17:13:08
> +0400|213.247.165.140|0.500|-|04e097c6502c21124ee8fbdde71ab853|MISS|200|GET / HTTP/1.1
>
>
> Т.е. в кеш главной страницы попал ответ,
> отданный зарегистрированному
> пользователю, что подтверждает
> браузер, показывая всем hello, username!
>
> Кто-нибудь сталкивался с этим? Это глюк
> нового параметра или что-то пропущено в
> настройках?
Патч.
Maxim Dounin
-------------- next part --------------
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1286375230 -14400
# Node ID 94b30aa5d8497cc409579f3253dfa3522c55a28b
# Parent b2afd36d87f46247bdbe924e232a8fd7b95a6529
Fix predicate testing (*_cache_bypass, *_no_cache).
Values starting with '0' was incorrectly assumed to be false.
diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -265,7 +265,7 @@ ngx_http_test_predicates(ngx_http_reques
return NGX_ERROR;
}
- if (val.len && val.data[0] != '0') {
+ if (val.len && (val.len != 1 || val.data[0] != '0')) {
return NGX_DECLINED;
}
}
Подробная информация о списке рассылки nginx-ru