我正在尝试使用 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,内容将不会被缓存,并立即从后端重新请求。