You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache 2.4配置VirtualHost代理Tomcat网站启用缓存问题

针对你在Apache 2.4上通过VirtualHost为后端Tomcat站点配置缓存的需求,我整理了优化后的配置方案并解释关键要点,帮你确保缓存正常生效:

调整后的完整VirtualHost缓存配置
<VirtualHost *:80>
    ServerName domain.com
    ServerAlias www.domain.com

    # 核心缓存配置
    CacheEnable disk /
    CacheHeader on
    CacheIgnoreNoLastMod On
    CacheDefaultExpire 800
    CacheMaxExpire 64000
    ExpiresActive on

    # 针对不同资源的精细化过期规则(可选但推荐)
    ExpiresByType text/html "access plus 1 hour"
    ExpiresByType text/css "access plus 7 days"
    ExpiresByType application/javascript "access plus 7 days"
    ExpiresByType image/jpeg "access plus 30 days"
    ExpiresByType image/png "access plus 30 days"

    # 反向代理配置(与缓存兼容优化)
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / http://localhost:8084/Application/
    ProxyPassReverse / http://localhost:8084/Application/

    # 动态内容缓存规避配置
    CacheIgnoreHeaders Set-Cookie
    CacheIgnoreQueryString On
</VirtualHost>
关键配置项解释
  • CacheEnable disk /:启用磁盘缓存,作用于整个站点。默认缓存目录为/var/cache/apache2/mod_cache_disk/,需确保Apache进程(通常是www-data用户)拥有该目录的读写权限。
  • CacheHeader on:在响应头中添加X-Cache标识,方便调试缓存命中/未命中状态。
  • CacheIgnoreNoLastMod On:允许缓存后端Tomcat未返回Last-Modified头的内容,避免因缺少该头导致缓存失效。
  • CacheDefaultExpire 800:无明确过期规则时,内容默认缓存800秒(约13分钟)。
  • CacheMaxExpire 64000:设置缓存内容的最长有效期(约17小时),防止旧内容被永久缓存。
  • ExpiresActive on + ExpiresByType:启用按资源类型设置过期时间,静态资源(CSS/JS/图片)可缓存更久,HTML内容缩短缓存周期保证更新及时性。
  • CacheIgnoreHeaders Set-Cookie:忽略后端返回的Set-Cookie头,避免缓存带登录态等动态标识的内容。
  • CacheIgnoreQueryString On:忽略URL查询字符串,相同路径不同参数的请求共享缓存(若参数会改变内容,可关闭此项)。
必要的Apache模块启用

确保以下模块已启用,否则缓存配置无法生效:

a2enmod cache
a2enmod cache_disk
a2enmod expires
a2enmod proxy
a2enmod proxy_http

启用后重启Apache服务:

systemctl restart apache2
缓存生效验证

用curl命令查看响应头,检查缓存相关标识:

curl -I http://domain.com

若看到X-Cache: HIT from localhost则表示缓存命中;首次请求会显示X-Cache: MISS,后续请求将触发缓存。

内容的提问来源于stack exchange,提问作者Ramon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:58:23