Could you possibly post the headers returned by 
http://localhost:5050/cachetest/jsp/cacheable/main.jsp  along with your proxy 
configuration directives?

The request headers could also be relevant. If you use Mozilla Firefox, you can 
obtain these headers using the add-on LiveHTTPHeaders.


-ascs
____________________________________________

-----Message d'origine-----
De : Marko Asplund [mailto:[EMAIL PROTECTED] 
Envoyé : jeudi 6 décembre 2007 21:56
À : users@httpd.apache.org
Objet : [EMAIL PROTECTED] Reverse proxy cache control problems

hi

I'm trying to cache dynamically generated content using an Apache 2.2 
reverse proxy.
Apache proxies content coming from Tomcat through AJP protocol.
For some reason mod_cache determines that cacheable content is not fresh 
and refetches the content
though the application sets the Expires and Cache-Control HTTP response 
headers (see below).

I'd like to be able to always cache cacheable pages for a certain period 
of time without any further freshness validation
and force non-cacheable pages to be excluded from caching.

How should I set the response headers and configure mod_cache in order 
to do that?

Marko


Here's a debug log extract from a page load:

[Thu Dec 06 22:25:35 2007] [debug] mod_disk_cache.c(477): disk_cache: 
Recalled cached URL info header 
http://localhost:5050/cachetest/jsp/cacheable/main.jsp?
[Thu Dec 06 22:25:35 2007] [debug] mod_disk_cache.c(750): disk_cache: 
Recalled headers for URL 
http://localhost:5050/cachetest/jsp/cacheable/main.jsp?
[Thu Dec 06 22:25:35 2007] [debug] cache_storage.c(272): Cached response 
for /cachetest/jsp/cacheable/main.jsp isn't fresh.  Adding/replacing 
conditional request headers.
[Thu Dec 06 22:25:35 2007] [debug] mod_cache.c(129): Adding CACHE_SAVE 
filter for /cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] mod_cache.c(136): Adding 
CACHE_REMOVE_URL filter for /cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_ajp.c(44): proxy: AJP: 
canonicalising URL //127.0.0.1:8009/cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] proxy_util.c(1378): [client 
127.0.0.1] proxy: ajp: found worker ajp://127.0.0.1:8009/cachetest for 
ajp://127.0.0.1:8009/cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy.c(777): Running scheme ajp 
handler (attempt 0)
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_http.c(1652): proxy: HTTP: 
declining URL ajp://127.0.0.1:8009/cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_ajp.c(507): proxy: AJP: 
serving URL ajp://127.0.0.1:8009/cachetest/jsp/cacheable/main.jsp
[Thu Dec 06 22:25:35 2007] [debug] proxy_util.c(1798): proxy: AJP: has 
acquired connection for (127.0.0.1)
[Thu Dec 06 22:25:35 2007] [debug] proxy_util.c(1859): proxy: connecting 
ajp://127.0.0.1:8009/cachetest/jsp/cacheable/main.jsp to 127.0.0.1:8009
[Thu Dec 06 22:25:35 2007] [debug] proxy_util.c(1955): proxy: connected 
/cachetest/jsp/cacheable/main.jsp to 127.0.0.1:8009
[Thu Dec 06 22:25:35 2007] [debug] proxy_util.c(2050): proxy: AJP: fam 2 
socket created to connect to 127.0.0.1
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(218): Into 
ajp_marshal_into_msgb
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[0] [Host] = [localhost:5050]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[1] [User-Agent] = [Mozilla/5.0 (X11; U; 
Linux i686; en-US; rv:1.9b1) Gecko/2007110903 Firefox/3.0b1]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[2] [Accept] = 
[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[3] [Accept-Language] = [en-us,en;q=0.5]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[4] [Accept-Encoding] = [gzip,deflate]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[5] [Accept-Charset] = 
[ISO-8859-1,utf-8;q=0.7,*;q=0.7]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[6] [Keep-Alive] = [300]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[7] [Connection] = [keep-alive]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[8] [Cookie] = 
[JSESSIONID=4ACF4EDC4DCBC6253DE8F810598F0771; SCREEN_NAME=iscdwJTOWtk=; 
[EMAIL PROTECTED]; COOKIE_SUPPORT=true; GUEST_LANGUAGE_ID=fi_FI]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[9] [Cache-Control] = [max-age=0]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(284): 
ajp_marshal_into_msgb: Header[10] [Max-Forwards] = [10]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(424): 
ajp_marshal_into_msgb: Done
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_ajp.c(188): proxy: 
APR_BUCKET_IS_EOS
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_ajp.c(193): proxy: data to 
read (max 8186 at 4)
[Thu Dec 06 22:25:35 2007] [debug] mod_proxy_ajp.c(208): proxy: got 0 
bytes of data
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(643): ajp_read_header: 
ajp_ilink_received 04
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(653): ajp_parse_type: got 04
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(484): 
ajp_unmarshal_response: status = 200
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(495): 
ajp_unmarshal_response: Number of headers is = 4
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(557): 
ajp_unmarshal_response: Header[0] [Expires] = [Fri, 7 Dec 2007 14:19:41 GMT]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(557): 
ajp_unmarshal_response: Header[1] [Cache-Control] = [max-age=3600]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(557): 
ajp_unmarshal_response: Header[2] [Content-Type] = [text/html;charset=UTF-8]
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(567): 
ajp_unmarshal_response: ap_set_content_type done
[Thu Dec 06 22:25:35 2007] [debug] ajp_header.c(557): 
ajp_unmarshal_response: Header[3] [Content-Length] = [341]
...


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
   "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to