Check the format of the Expires header. It must be in RFC 1123 date format, which, if I understand the documentation, looks like the line below.
Expires: Thu, 01 Dec 1994 16:00:00 GMT Also, make sure you know how to clear the cache on Apache. I think "rm -rf /var/www/cache/*" will work. Clearing the cache as you troubleshoot will help you avoid having something cached blocking the caching of your new request. Also, try also sending a Last-Modified header or setting "CacheIgnoreNoLastMod On" Janine Sisk wrote: > Trying again... anyone??? Bueller? :) > > > I'm getting closer... CacheIgnoreCacheControl helped. > > There was actually one place in OpenACS that might have been adding > the cache-control header (in acs-tcl/tcl/request-processor-procs.tcl) > but I commented that out a long time ago and it didn't make any > difference. > > Now, with the CacheIngoreCacheControl directive, the home page gets > cached properly. This is progress!! However, dynamic URLs are still > not being cached. For example, both of these URLs work: > > translator.com/gate/gb/traditional-site.com/public/index > translator.com/gate/gb?url=traditional-site.com/public/index > > The former gets cached, the latter does not. > > The reason for this is that mod_cache doesn't cache URLs with query > variables unless either they contain an Expires directive or you turn > on CacheIgnoreQueryString. But the latter is rather destructive as it > returns the same content for all pages - not what one wants. > > I went into the OpenACS request processor and added the expires > header; you can see it if you telnet to the page, so I know it > worked, but it's somehow not making it back to Apache (it's not in the > cached headers, and dynamic URLs are still not being cached). > > Any ideas how a header could get "lost" between AOLserver and Apache? > > Oh, and before anyone suggests this I did try adding an expiration via > mod_expires in Apache, but that had no effect either. I didn't really > expect it to, since that's not the request being cached, but it was > worth a try. > > Thanks for everyone's patience with this mostly-OT topic! > > janine > > PS Here's the relevant part of my httpd.conf file: > > # mod_cache/mod_mem_cache > LoadModule cache_module modules/mod_cache.so > LoadModule disk_cache_module modules/mod_disk_cache.so > <IfModule mod_cache.c> > CacheEnable disk / > # seconds (86400 = 1 day) > CacheDefaultExpire 86400 > CacheIgnoreNoLastMod On > CacheIgnoreCacheControl On > # seconds (2678400 = 31 days) > CacheMaxExpire 2678400 > <IfModule mod_mem_cache.c> > # KB > #MCacheSize 524288 > MCacheSize 262144 > MCacheMaxObjectCount 1000 > # bytes > MCacheMinObjectSize 1 > # bytes > MCacheMaxObjectSize 524288 > </IfModule> > <IfModule mod_disk_cache.c> > CacheRoot /var/www/cache > CacheDirLevels 1 > CacheDirLength 4 > CacheMaxFileSize 524288 > CacheMinFileSize 1 > </IfModule> > </IfModule> > > #LoadModule headers_module modules/mod_headers.so > #Header set Cache-Control "max-age=999" > > #LoadModule expires_module modules/mod_expires.so > #ExpiresActive On > #ExpiresDefault M86400 > > LoadModule proxy_module modules/mod_proxy.so > LoadModule proxy_http_module modules/mod_proxy_http.so > ProxyRequests Off > <Proxy *> > Order deny,allow > Allow from all > </Proxy> > > #ProxyPassMatch /(.+) http://staging-big5.hrichina.org/$1 > ProxyPassMatch /(.+) http://209.162.194.27:8081/$1 > > > On Apr 13, 2009, at 12:47 PM, David Walker wrote: > >> To aid your troubleshooting, I would recommend a grep or other >> full-text search of the code running on AOLServer to determine if >> there are any circumstances where it would generate a cache-control >> header. >> >> Your telnet test may not give you all of the data you desire without >> a full set of headers on the request side. The "Tamper Data" add-on >> for Firefox will allow you to observe the interaction (headers and >> all) between your browser and the web server. >> >> The CacheIgnoreCacheControl directive may allow you to force Apache >> to cache regardless of whether there is a cache-control directive. >> >> http://httpd.apache.org/docs/2.0/mod/mod_cache.html >> >> Janine Sisk wrote: >>> This is only peripherally related to AOLserver, but there are so >>> many helpful and knowledgeable people on this list, I'm hoping >>> someone will recognize this. >>> >>> I'm still working on that Apache/Tomcat caching thing I wrote about >>> a few days ago. The client is insisting on Apache and nothing but >>> Apache, so I haven't investigated Squid, Varnish or anything else so >>> far. >>> >>> I figured out how to use mod_cache to get Apache to cache the >>> content, but it's kind of useless because there's a "Cache-Control: >>> max-age=0" header that causes it to request a new copy every time. >>> The problem is, I can't figure out where it's coming from. >>> >>> I've eliminated Tomcat from the loop entirely, so the fault lies >>> somewhere between AOLserver and Apache: >>> >>> - telnet to AOLserver directly - no cache-control at all >>> >>> GET /public/index HTTP/1.0 >>> >>> HTTP/1.0 200 OK >>> Set-Cookie: >>> ad_session_id=82810106%2c0%2c0+%7b514+1239579021+56A366FC5E92AF28DB87E48214C6C4CE8C0581BB%7d; >>> Path=/; Max-Age=1200 >>> MIME-Version: 1.0 >>> Date: Sun, 12 Apr 2009 23:10:21 GMT >>> Server: AOLserver/4.0.10 >>> Content-Type: text/html; charset=utf-8 >>> Content-Length: 127358 >>> Connection: close >>> >>> - have Apache send request to AOLserver via mod_proxy >>> (ProxyPassMatch) - has Cache-Control with max-age=0 >>> >>> Last-Modified: Mon, 30 Mar 2009 11:26:14 GMT >>> MIME-Version: 1.0 >>> Date: Sun, 12 Apr 2009 23:03:02 GMT >>> Server: AOLserver/4.0.10 >>> Content-Type: image/gif >>> Content-Length: 395 >>> >>> User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) >>> AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 >>> Referer: http://pug.furfly.com:8080/public/index >>> *Cache-Control: max-age=0* >>> Accept: */* >>> Accept-Language: en-us >>> Accept-Encoding: gzip, deflate >>> >>> - use mod_headers to add a Cache-Control header - now we have two: >>> >>> Last-Modified: Mon, 30 Mar 2009 11:26:14 GMT >>> MIME-Version: 1.0 >>> Date: Sun, 12 Apr 2009 23:15:04 GMT >>> Server: AOLserver/4.0.10 >>> Content-Type: image/gif >>> Content-Length: 395 >>> *Cache-Control: max-age=999* >>> >>> User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-us) >>> AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1 >>> Referer: http://pug.furfly.com:8080/public/index >>> *Cache-Control: max-age=0* >>> Accept: */* >>> Accept-Language: en-us >>> Accept-Encoding: gzip, deflate >>> >>> >>> It appears that Apache is adding the rogue header, but I don't know >>> how to tell it to stop! >>> >>> Any suggestions? >>> >>> janine >>> >>> --- >>> Janine Sisk >>> President/CEO of furfly, LLC >>> 503-693-6407 >>> >>> >>> >>> >>> -- AOLserver - http://www.aolserver.com/ >>> >>> To Remove yourself from this list, simply send an email to >>> <[email protected]> with the body of "SIGNOFF AOLSERVER" in >>> the email message. You can leave the Subject: field of your email >>> blank. >>> >> >> -- AOLserver - http://www.aolserver.com/ >> >> To Remove yourself from this list, simply send an email to >> <[email protected] <mailto:[email protected]>> with >> the body of "SIGNOFF AOLSERVER" in the email message. You can leave >> the Subject: field of your email blank. >> > > --- > Janine Sisk > President/CEO of furfly, LLC > 503-693-6407 > > > > > -- AOLserver - http://www.aolserver.com/ > > To Remove yourself from this list, simply send an email to > <[email protected]> with the body of "SIGNOFF AOLSERVER" in > the email message. You can leave the Subject: field of your email blank. > -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[email protected]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.
