讲师中心 微信公众号
AI工具推荐 视频效率加速

Nginx 中 `proxy_cache_use_stale` 的容灾用法

大芳君_9058

大芳君_9058

发布时间:2026-06-12 20:40:04

|

423人浏览过

|

来源于php中文网

原创

Nginx在后端崩溃时返回内容需整套缓存机制配合:精准配置proxy_cache_use_stale http_500-504,确保proxy_cache_path、稳定proxy_cache_key及proxy_cache_valid覆盖5xx,并通过X-Cache: STALE、响应体一致性和毫秒级耗时验证生效。

nginx 中 `proxy_cache_use_stale` 的容灾用法

要让 Nginx 在后端崩溃时仍能返回内容,proxy_cache_use_stale 不是“开了就行”的开关,而是需要整套缓存机制配合的容灾策略。它只在缓存已存在、过期、且满足指定条件时,才允许绕过回源,把旧内容发给用户。

只对可信故障启用 stale

后端真正出问题时,最稳定的信号是它主动返回 5xx 状态码(比如进程还在但业务异常),而不是网络层抖动。因此应精准配置:

  • 推荐写法:proxy_cache_use_stale http_500 http_502 http_503 http_504;——这四类由后端生成,语义明确,误判率低
  • 慎用 error 和 timeout:连接拒绝、DNS 超时、读取超时可能是瞬时问题,加了反而会让本可成功的请求被降级
  • 如需后台刷新:可追加 updating,但必须同步开启 proxy_cache_background_update on;,否则该参数无效

确保缓存“有得用、找得着、过得了期”

stale 不创造缓存,只复用已存在的过期项。以下三点缺一不可:

FastAPI Flask Proxy
FastAPI Flask Proxy

FastAPI + Flask 混合部署最佳实践,解决路由定义、API 代理等常见问题,适用于同时运行 FastAPI API 与 Flask 前端的场景。

下载
  • 缓存区已正确定义并被引用:proxy_cache_path /var/cache/nginx keys_zone=my_cache:512m inactive=3d use_temp_path=off;,并在 location 中写 proxy_cache my_cache;
  • 缓存键稳定:proxy_cache_key "$scheme$host$request_uri";——剔除 $args、$cookie_、时间戳等动态字段,避免同一资源被拆成多个 key
  • 5xx 响应也要进缓存:proxy_cache_valid 500 502 503 504 1m;——否则错误响应根本不会落盘,后续 stale 就无内容可返

让容灾更可靠:后台更新 + 请求锁

单纯返回旧内容只是起点,真正可用的容灾需要“边服务、边恢复”:

  • 后台静默刷新:proxy_cache_background_update on;——返回 stale 的同时,Nginx 自动发起低优先级子请求拉新内容并写入缓存
  • 防止并发击穿:proxy_cache_lock on; proxy_cache_lock_timeout 3s;——同一缓存键下,首个请求负责回源或触发后台更新,其余请求最多等待 3 秒后直接读新缓存(或继续走 stale)

从客户端视角验证是否真生效

停掉上游服务后,不能只看状态码,重点确认三件事:

  • 响应头中出现 X-Cache: STALE(需提前配置 add_header X-Cache $upstream_cache_status;)
  • 响应体与故障前完全一致——不是空页、不是 Nginx 默认 502 页面、也不是结构错乱的 JSON
  • 响应耗时在几十毫秒内(比如 proxy_read_timeout 3s,实测返回 40–80ms),说明确实绕过了回源

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

437

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

920

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2912

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

976

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

869

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

454

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2636

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

4932

2023.10.20

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn