ПРОЕКТЫ 


  АРХИВ 


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]

Nginx cache


  • To: nginx-ru@xxxxxxxxx
  • Subject: Nginx cache
  • From: "vladimircape" <nginx-forum@xxxxxxxx>
  • Date: Fri, 10 Jan 2014 13:27:34 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=yZqoRHThVcwCpj1hzDqHz5P7AUpwNRaicNXa3H9VKbk=; b=SO62dBC3+gipwle/ecjI3lNj4UU4KJdFjFPnfvZhZnF+kk7K14sbuwDmgjzdV7YVniTfqw4Mj55LxYjpRS0ogpbUbmueTklvUwrLUIA1tQcqVOlbKKg4PAvj6KMoBXOFBBFhHOKADvDudi+MsPawSmqRTvUMsYoQHKDmtOaMCbo=;

Сайт написан на php фреймворке yii, т.е. все запросы проходят через
index.php
У меня установлена связка Fedora 16(nginx php5-fpm)
настройл кэширование, но некорректно работает с авторизованными
пользователями.
Некоторые пишут что вообще почти не реально это настройть.
Вот часть настройки
set $no_cache 0;
    if ($request_method = POST)
    {
        set $no_cache 1;
    }
    #Don't cache if the URL contains a query string
    if ($query_string != "")
    {
        set $no_cache 1;
    }
    #Don't cache the following URLs
    if ($request_uri ~*
"/(api/|login|logout|corporate/login|corporate/logout)")
    {
        set $no_cache 1;
    }
    #Don't cache if there is a cookie called PHPSESSID
    if ($http_cookie = "PHPSESSID")
    {
        set $no_cache 1;
    }
location ~ \.php$ {
        fastcgi_cache_bypass $no_cache;
        fastcgi_no_cache $no_cache;
fastcgi_pass php-fpm;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/site/index.php;
        include fastcgi_params;
        try_files $fastcgi_script_name =404;
        fastcgi_cache nginx_webpy_cache;
        fastcgi_cache_valid 200 301 302 304 2m;
        fastcgi_cache_key
"$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri|$cookie_login_id";
        fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
        fastcgi_hide_header "Set-Cookie";
    }

location ~* \.(ico|js|txt|jpg|jpeg|png|css|pdf)$ {
        root /srv/www/site;
        access_log off;
        expires 1h;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

Авторизованным пользователем выхожу через logout , а потом если просто
ввести адресс заходит под тем же логином,
PHPSESSID 9ef4fjlop3udf37kghooi040d7 
и
6e8789174e281f8ed80a55570a092d9d 
b64cbbf745b4e05f7fb188e...i:2;i:86400;i:3;a:0:{}}


кука типа не удаляется при кэшировании.
6e8789174e281f8ed80a55570a092d9d

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,246251,246251#msg-246251

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


 




Copyright © Lexa Software, 1996-2009.