Tomcat – Apache mod_cache cache misses

Apache2mod-cacheproxypasstomcat

Somehow I can't get Apache's mod-cache to work as I want. I want it to cache a proxy call to my tomcat server which is a jsp file. The jsp file displays the current time so I can notice if I get a cached response or not.. This is my config:

        CacheQuickHandler off
        CacheLock on
        CacheLockPath /tmp/mod_cache-lock
        CacheLockMaxAge 5
        CacheIgnoreHeaders Set-Cookie

       <Location /Kanzan/>
          CacheEnable disk
          CacheHeader on
          CacheDefaultExpire 800
          CacheMaxExpire 64000
          CacheIgnoreNoLastMod On
          #ExpiresActive on
          #ExpiresDefault A60
       </Location>


       ProxyPreserveHost On
       ProxyPass /Kanzan/ http://127.0.0.1:8080/Kanzan/
       ProxyPassReverse /Kanzan/ http://127.0.0.1:8080/Kanzan/

All this is inside my virtual host. I do log this in 5 different files,

cached-requests.log
cache.log
invalidated-requests.log
revalidated-requests.log
uncached-requests.log

But only cache.log and the 2 last ones ever get content. In the last file I allways get

127.0.0.1 [21/sep/2018xxxxx +0200] "GET /Kanzan/testCache.jsp HTTP/1.1" 200 472

and in cache.log I repeatedly get

cache miss: attempting entity save

I get data saved to /var/cache/apache2/mod_cache_disk, but the the cache is never used as the time keeps updating on reload..

UPDATE:

Now I realize that the cache works… BUT … it does not work the way I want it to. When I press refresh on my browser I want the cached value on the server to be returned if it hasn't expired.. instead, whenever I press refresh, the chache is updated! How do I make it work so that the cached value is not updating whenever a new user require this page??

Best Answer

Just add this

CacheIgnoreCacheControl on