如何使用 mod_proxy 或 mod_jk 开启 mod_cache

如何使用 mod_proxy 或 mod_jk 开启 mod_cache

我正在尝试使用 mod_cache 设置 apache+mod_jk/mod_proxy。

但看起来所有代理请求都被 mod_cache 忽略了。这可能与模块处理顺序或其他原因有关?Apache 2.2.22

我尝试使用 mod_jk 和 mod_proxy - 都无济于事。LogLevel 设置为调试。

虚拟主机 (https):

    ProxyPass /app/ https://server:8443/app/
    ProxyPassReverse /app/ https://server:8433/app/

    CacheEnable mem /

    #tried JkMount / loadbalancer
    #tried Also disk
    #CacheDefaultExpire 3600
    #CacheEnable disk /
    #CacheDirLevels 2
    #CacheDirLength 1
    #CacheMaxFileSize 3000000
    #CacheMinFileSize 1
    #CacheIgnoreCacheControl On
    #CacheIgnoreNoLastMod On
    #CacheIgnoreQueryString On
    #CacheIgnoreHeaders Set-Cookie
    #CacheLastModifiedFactor 0.1
    #CacheMaxExpire 86400
    #CacheStoreNoStore On
    #CacheStorePrivate On

如果我请求一些非代理资源(server/test.png),我会在日志或磁盘存储中成功看到该资源已被缓存。

这对我来说很奇怪,因为我在文档和 Google 中看到人们成功地使用代理进行 mod_cache。

答案1

看起来它确实有效,但仅适用于 mem_cache。磁盘缓存会忽略代理内容。

此外,如果请求没有缓存或最大年龄为 0,内容将不会被缓存,并立即从后端重新请求。

相关内容