Apache mod_cache 缓存未命中

Apache mod_cache 缓存未命中

不知何故,我无法让 Apache 的 mod-cache 按照我的意愿工作。我希望它缓存对我的 tomcat 服务器的代理调用,这是一个 jsp 文件。jsp 文件显示当前时间,这样我就可以注意到我是否获得了缓存的响应。这是我的配置:

        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/

所有这些都在我的虚拟主机中。我确实在 5 个不同的文件中记录了这些内容,

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

但只有 cache.log 和最后两个文件会获取内容。在最后一个文件中,我总是获取到

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

在 cache.log 中我反复得到

cache miss: attempting entity save

我将数据保存到 /var/cache/apache2/mod_cache_disk,但由于时间在重新加载时不断更新,因此缓存从未使用过。

更新:

现在我意识到缓存是有效的……但是……它并没有按照我想要的方式工作。当我在浏览器上按刷新时,我希望返回服务器上的缓存值(如果尚未过期)。然而,每当我按刷新时,缓存都会更新!我该如何让它工作,以便当新用户需要此页面时缓存值不会更新??

答案1

只需添加

CacheIgnoreCacheControl on

相关内容