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

Nginx 中怎么配置 ip_hash 结合备用节点实现容灾

大婷同学_1350

大婷同学_1350

发布时间:2026-10-29 14:26:31

|

850人浏览过

|

来源于php中文网

原创

ip_hash 与 backup 不能协同工作,因其静态哈希机制强制同一IP固定映射某台server,故障时不重哈希也不切换至backup,仅持续尝试或报错;backup仅在全部非backup节点失效时启用,但ip_hash不触发该条件。

nginx 中怎么配置 ip_hash 结合备用节点实现容灾

ip_hash 本身不支持直接搭配 backup 节点实现容灾,因为 ip_hash 的设计目标是会话保持——同一 IP 始终打到同一台后端,而 backup 节点只在所有非 backup 节点全部失效时才启用。一旦启用 ip_hash,Nginx 就不会把请求“切换”到 backup 节点去维持会话,否则会破坏 session 一致性。

为什么 ip_hash 和 backup 不能直接协同工作

ip_hash 是一种静态哈希策略:客户端 IP 经哈希后固定映射到某台 server。Nginx 不会在该 server 故障时重新哈希或改派 backup;它只会标记该 server 为不可用,并在后续对该 IP 的请求中持续尝试(直到恢复)或返回 502/503。backup 节点仅在 upstream 中所有非 backup 成员都 fail 时才参与调度,但 ip_hash 不会为此改变哈希结果,所以 backup 实际无法承接原 IP 的流量。

真正可行的容灾方案:ip_hash + 主动健康检查 + 共享 Session

要兼顾会话保持与故障自动接管,需绕过 ip_hash 对 backup 的限制,转而强化后端自愈能力:

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载
  • 保留 ip_hash 保证首次请求路由稳定,例如:
    upstream backend {
      ip_hash;
      server 192.168.1.10:8080 max_fails=3 fail_timeout=30s;
      server 192.168.1.11:8080 max_fails=3 fail_timeout=30s;
    }
  • 所有后端应用必须共享 Session 存储(如 Redis),避免用户因某台机器宕机而掉登录态
  • 配置主动健康检查(需 nginx_upstream_check_module 或商业版 NGINX Plus),用 HTTP 探针定期验证 /health 端点,响应非 200 即刻隔离节点
  • 在 proxy_pass 前设置合理超时:
    proxy_connect_timeout 5s;
    proxy_read_timeout 60s;
    proxy_next_upstream error timeout http_502 http_503;
    —— 这样当某台 server 响应超时或返回 502/503,Nginx 会尝试同一 upstream 内其他可用节点(注意:ip_hash 下仅限同哈希槽内节点;若该槽唯一且失效,则触发 next_upstream 失败,最终报错)

如果必须用 backup 节点兜底:放弃 ip_hash,改用 least_conn + 共享 Session

当业务允许短暂会话中断(或已通过 Redis/DB 全局共享状态),可换更容灾友好的策略:

  • 用 least_conn 分配连接,天然支持故障转移:
    upstream backend {
      least_conn;
      server 192.168.1.10:8080 max_fails=3 fail_timeout=30s;
      server 192.168.1.11:8080 max_fails=3 fail_timeout=30s;
      server 192.168.1.12:8080 backup;
    }
  • backup 节点会在前两台全不可用时立即接管全部流量
  • 配合 Redis Session 和健康检查,用户感知不到服务中断

Nginx 层自身高可用:别只靠 upstream

真正防止单点故障,还得保障 Nginx 本体不挂:

  • 部署两台 Nginx 服务器,用 Keepalived 绑定同一个 VIP,主备秒级切换
  • 两台 Nginx 配置完全一致(含 upstream、health check、proxy 参数),并通过 rsync 或 GitOps 同步配置
  • 避免在单台 Nginx 上做 backup 节点兜底,那只是后端容灾;VIP+Keepalived 才是 Nginx 层的容灾

热门AI工具

更多
切问学术

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

豆包大模型

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

DeepSeek

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

音述AI
音述AI Hot

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

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

WorkBuddy

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

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

蛙蛙写作

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

相关专题

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

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

457

2023.08.15

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

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

960

2023.09.08

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

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

3252

2023.09.19

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

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

1056

2023.10.09

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

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

949

2023.10.17

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

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

494

2023.10.17

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

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

2976

2023.10.18

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

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

5592

2023.10.20

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

40

2026.10.28

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
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