docs/给反向代理站点配置缓存
更新于 2026-10阅读约 6 分钟

给反向代理站点配置缓存

1 反向代理站点配置缓存的意义

对反向代理站点配置缓存是提高 Web 应用性能和用户体验的重要手段,同时也能增强系统的稳定性和安全性:

  • 提高性能:资源首次请求后进入缓存,后续请求直接命中缓存,减少对后端服务器的请求次数与响应时间;
  • 减轻后端压力:静态资源(图片、CSS、JavaScript)被缓存后,应用服务器可以把更多资源投入动态请求处理;
  • 节约带宽:相同资源的重复请求由代理直接返回,减少从源站传输数据所需的带宽;
  • 提高用户体验:资源加载更快,页面浏览更流畅,等待时间更短;
  • 增强系统稳定性:请求被缓存与分流后,不会因为单个服务器过载而影响整个系统;
  • 支持热更新:缓存可设置不同的活跃程度,使更新后的内容能较快传递给用户;
  • 安全性提升:为不常变动的资源设置较长过期时间,减少源站直接暴露在互联网上的机会。

2 Fast-Https 配置代理缓存

在反向代理站点的 location 中加入 proxy_cache:

{
  "listen": 9090,
  "server_name": "localhost",
  "location": [
    {
      "url": "/",
      "type": "proxy",
      "proxy_pass": "http://xxxx.com",
      "proxy_cache": {
        "path": "cache",
        "valid": ["200:1h", "304:1h", "any:30m"],
        "key": "$request_method$host$request_uri"
      }
    }
  ]
}

proxy_cache 表示启用代理缓存服务:

配置项说明
path缓存文件存放路径
valid不同响应状态对应的缓存时间,格式为 状态码:时长
key缓存文件名的生成规则,可用变量的不同组合

上例为 xxxx.com 这个上游服务器设置了缓存:path 是缓存位置,valid 指明各状态下文件的缓存时间(返回码为 200 的文件缓存 1 小时,any 兜底 30 分钟),key 是生成缓存文件名的规则。

3 使用建议

  • 静态资源占比较高的站点收益最明显;
  • 内容频繁变化的接口,建议缩短对应状态码的缓存时长,或单独配置为不缓存;
  • 修改 proxy_cache 配置后需 RELOAD 生效。