Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Странное поведение proxy_cache_ bypass
Использую кеширование в nginx 0.8.50 перед apache.
В проксируемом location следующее:
proxy_pass http://apache;
proxy_cache CACHE;
proxy_cache_key $host$uri$is_args$args$cookie_lang;
proxy_cache_min_uses 1;
proxy_cache_valid 200 301 1m;
proxy_cache_valid 404 30s;
proxy_cache_use_stale updating error timeout invalid_header http_500 http_502
http_503 http_504;
proxy_no_cache $arg_WPMODE;
proxy_cache_bypass $arg_WPMODE $http_pragma;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
proxy_pass_header Cookie;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_hide_header Vary;
gzip on;
В proxy_no_cache $http_pragma не указан для обновления кеша.
Делаю первый запрос:
wget -d http://domain.tld/someurl
---request begin---
GET /someurl HTTP/1.0
User-Agent: Wget/1.12
Accept: */*
Host: domain.tld
Connection: Keep-Alive
---response begin---
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 28 Sep 2010 17:34:17 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
Vary: Accept-Encoding
Абсолютно корректно отвечает и сохраняет:
KEY: domain.tld/someurl
HTTP/1.1 200 OK
Date: Tue, 28 Sep 2010 17:34:17 GMT
Server: Apache/2
X-Accel-Expires: 300
Set-Cookie: lang=ru; expires=Sat, 27-Nov-2010 17:34:17 GMT; path=/;
domain=domain.tld
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=windows-1251
Посылаю запрос для обновления:
wget -d --header "Pragma: no-cache" http://domain.tld/someurl
---request begin---
GET /someurl HTTP/1.0
User-Agent: Wget/1.12
Accept: */*
Host: domain.tld
Connection: Keep-Alive
Pragma: no-cache
---response begin---
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 28 Sep 2010 17:35:57 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
Vary: Accept-Encoding
Сам ответ правильный, а вот в файле кеша - "битый" заголовок:
KEY: domain.tld/someurl
Server: Apache/2
X-Accel-Expires: 300
Set-Cookie: lang=ru; expires=Sat, 27-Nov-2010 17:35:57 GMT; path=/;
domain=domain.tld
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=windows-1251
Последующие запросы к кешу:
wget -d http://domain.tld/someurl
---request begin---
GET /someurl HTTP/1.0
User-Agent: Wget/1.12
Accept: */*
Host: domain.tld
Connection: Keep-Alive
---response begin---
---response end---
200 Заголовки отсутствуют, подразумевается HTTP/0.9
Длина: нет информации
Помогите понять это я нечто делаю не так или сохранение в кеш при
proxy_cache_bypass?
--
WNGS-RIPE
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|