ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: проблема с кэшированием



 Сделал так: если в запросе  присутствует $cookie_session или же в ответе устанавливается, отдаю  Cache-Control и X-Accel-Expires в 0.  Все работает отлично.  Спасибо большое. 

13 июня 2010 г. 23:25 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
On Fri, Jun 11, 2010 at 02:35:23PM +0300, Alex Smorodin wrote:

> Ох.в общем всю логику передал. Чтобы не выносить страницы, где передаются
> куки, в отдельный локейшн,  вместе с Set-Cookie одновременно делаем
> proxy_ignore_headers "Cache-Control", тогда  nginx не кэширует страницу.
> Все работает хорошо, но при автоматическом тестировании ловим такое:
> переменная кука session попадает в ключ.
> server {
>     listen 192.168.0.32:9181;
>     server_name domain.com;
>     access_log /var/log/nginx/domain.com/nginx-access.log combined;
>     error_log  /var/log/nginx/domain.com/nginx-error.log error;
>     proxy_temp_path /var/cache/nginx/domain.com;
>     location / {
>         proxy_pass http://192.168.0.32:81;
>         proxy_set_header  Host  domain.com;
>         proxy_set_header  X-Real-IP  $remote_addr;
>         proxy_next_upstream error timeout invalid_header http_500 http_503;
>         proxy_cache     one;
>         proxy_cache_key
> $host$uri?$args|$cookie_session|$cookie_username|$cookie_username|;
>         proxy_no_cache $cookie_session $cookie_username
> $http_x_requested_with;
>         proxy_pass_header Set-Cookie;
>         proxy_ignore_headers "Expires";
>         proxy_cache_valid 200 301 302 304 1h;
>     }
> ключ в кэше получается вида:
> 192.168.0.32/blabla?|02e3927ebc95993e6adf59ab7072bf1c|||
> Вопрос: как переменная cookie_session может попадать в ключ (очень редко,
> но проскакивает), если она указана в параметре proxy_no_cache?

А в таких ответах есть Cache-Control или X-Accel-Expires ?
proxy_no_cache запрещает использовать уже закэшированный ответ, но
сам ответ может быть закэширован, если в нём есть X-Accel-Expires,
Cache-Control или Expires.


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru



--
С уважением,
Смородин Александр
               
           mailto: agsmorodin@xxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.