IBM Lotus Domino - reverse proxy - do not cache if authenticated web user (based on cookie)
Pekka.Panula at sofor.fi
Pekka.Panula at sofor.fi
Wed Mar 31 13:42:48 MSD 2010
> What cache-control headers does the back-end domino set? You can see
> this with a tool like fiddler or Firebug... that makes all the
> difference in how you need to configure nginx to override its behavior
> if it is undesirable.
Unfortunately, Domino is sort of braind dead, no cache-control unless you
make your application to give them. AFAIK.
> If all of the domino stuff is under a small set of URLs, you can
> simply add a location for those that does not have "proxy_cache one;"
> which is far simpler than trying to override the back-end's
> cache-control headers. This means you will need to move your
> "proxy_cache one;" from the http block to any inner location blocks
> that need caching.
Unfortunately, there is no easy way to do that, no small set, and urls are
pretty dynamics, well, also application based, so one application can have
very different url set than some other application. Its pretty pain,
because there are no direct way to know which is application and which is
admin functions, etc, because it really depends much how application is
> I do not think proxy_* directives are valid inside an "if" block. Did
> you try it?
Yep, you are right, you cant have them on if-block.
Basicly currently if you have IBM Lotus Domino backends, you cant use
proxy_cache, which sucks, because those applications do use lots of
upstream resources, and which by using even small caches can be reduced
much... Basicly you have to disable caching if you want your web pages to
behave without problems.
I dont have lots of ideas how to fix, but what if it was possible to
disable nginx caching based if user has some cookie set, i mean as if
there was no proxy_cache variables set at all, so it always did fetch data
from upstream if certain cookie is on. Is this even possible to code on
nginx? Unfortunately my C coding skills are somewhat not-exists. Because
Domino sets session cookie when user is authenticated, that way nginx
would know if user is anonymous or some authenticated user that is prob.
doing some updates, like new docs, etc. to domino application, so it
whould prob. be anyway not to cache hes content...
Pekka Panula, Sofor Oy - Jatkuvat palvelut
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nginx