Hi,
I’m trying to build similar configuration to this one
(http://www.vbulletin.com/forum/entry.php?2440-vB4Mance-Part-5-Expert-Level-Boosting-vBulletin-Performance-with-Advanced-Caching )
but using nginx. Aparently there is no problem caching static files and
php generated css, but websites itselves dont cache.
Here is part config of proxy:
proxy_pass http://ip:78;
proxy_cache one;
proxy_cache_key $host$request_uri;
proxy_cache_valid 5m;
proxy_cache_methods GET HEAD;
proxy_no_cache $cookie_bb_imloggedin $cookie_bb_password
$cookie_bb_userid $nocache;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
This goes to cache:
http://ls2009.eu:8080/css.php?styleid=7&langid=2&d=&sheet=forumhome_sub_forum_manager.css
This doesn’t:
http://ls2009.eu:8080/masz-problem-z-ls-2011/37697-skoszona-trawa.html#post142777
I’m aware of Pragma: private and Cache-control: private, I commented it
out from code with no results. Also Cache-control should be ignored. Anu
ideas?
Posted at Nginx Forum:
meto
October 22, 2010, 12:21pm
2
I figured out that it must be something with headers. Does anybody knows
why nginx ignores cache with those headers?
Server nginx/0.8.53
Date Fri, 22 Oct 2010 10:16:28 GMT
Content-Type text/html; charset=ISO-8859-2
Connection keep-alive
X-Powered-By PHP/5.3.3
X-Pingback http://ls2009.eu/vbseo-xmlrpc/
Set-Cookie bb_lastvisit=1287437336; expires=Sat, 22-Oct-2011 10:16:28
GMT; path=/; domain=ls2009.eu bb_lastactivity=0; expires=Sat,
22-Oct-2011 10:16:28 GMT; path=/; domain=ls2009.eu
vbseo_loggedin=deleted; expires=Thu, 22-Oct-2009 10:16:27 GMT; path=/
Cache-Control private
Pragma private
Last-Modified Wed, 20 Oct 2010 21:01:11 GMT
Vary Accept-Encoding,User-Agent
Content-Encoding gzip
Content-Length 9560
Cache-control should be ignored according to proxy cache settings…
Posted at Nginx Forum:
meto
October 22, 2010, 12:49pm
3
Hello!
On Fri, Oct 22, 2010 at 06:19:45AM -0400, meto wrote:
Set-Cookie bb_lastvisit=1287437336; expires=Sat, 22-Oct-2011 10:16:28
Cache-control should be ignored according to proxy cache settings…
Since 0.8.44 nginx doesn’t cache by default responses with
Set-Cookie. If you want them to be cached you have to add
“proxy_ignore_headers Set-Cookie”.
Note well: you may also want to add “proxy_hide_header Set-Cookie”
(or make sure cookies set aren’t private, or make sure your
proxy_cache_key distinct for different users).
Maxim D.
meto
October 22, 2010, 12:59pm
4
Thanks that works good. It’s by design guest cache controlled by cookie
‘imloggedin’=1 So even if cookies are set it’s ok to be public.
PS.
I was relying on wiki since there is no english documentation. Could you
please make english docs as much up to date as russian?
Posted at Nginx Forum: