vBulletin caching proxy

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:

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:

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.

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: