nginx中多个server块共用upstream会相互影响吗
背景
nginx中经常有这样的场景,多个server块共用一个域名。
如:upstream有2个以上的域名,nginx配置两个server块,共用一个upstream配置。
那么,如果其中一个域名发生"no live upstreams while connecting to upstream"错误,会不会影响另一个域名呢?
先说结论
会。导致另一个域名会返回5xx,并且也报错"no live upstreams while connecting to upstream"
模拟错误"no live upstreams"
环境
| 机器 | ip | 作用 |
|---|---|---|
| test1 | 192.168.10.129 | nginx代理服务器 |
| test2 | 192.168.10.130、192.168.10.150 | upstream服务器(用nginx模拟) |
test1配置(角色:nginx代理)
配置域名解析:
vim /etc/hosts# 将域名解析到本机,待会儿在本机测试127.0.0.1 test1.com127.0.0.1 test2.com
nginx配置:
error_log /var/log/nginx/error.log;
server {listen 80;listen [::]:80;server_name test1.com;location /test {proxy_set_header Host $host;proxy_next_upstream http_502; # 关键配置:遇到502,则尝试下一个upstream serverproxy_pass http://test;}
}
server {listen 80;listen [::]:80;server_name test2.com;location /test {proxy_set_header Host $host;proxy_pass http://test;}
}
upstream test {server 192.168.10.130 max_fails=1 fail_timeout=15s;server 192.168.10.150 max_fails=1 fail_timeout=15s;
}
test2配置(角色:upstream)
server {listen 80;listen [::]:80;server_name test1.com;location /test {return 502 "test1.com"; # 关键配置:返回502,模拟错误}
}
server {listen 80;listen [::]:80;server_name test2.com;location /test {return 200 "test2.com";}
}
测试
在哪里测试?test1
curl -i http://test2.com/test # 快速运行多遍,发现不报错。
curl -i http://test1.com/test # 快速运行多遍,观察/var/log/nginx/error.log会报错:"no live upstreams"
curl -i http://test2.com/test # 报错后,立即执行此命令。发现也报错了。
得出结论:nginx中多个server块共用upstream会相互影响
建议
如果影响业务,那就将重要的服务的upstream分离出来。(实测不会相互影响)
那年,郭少在京城
这篇文章的最新版请看我的另一个博客:https://www.cnblogs.com/NetRookieX/p/17959533
相关文章:
nginx中多个server块共用upstream会相互影响吗
背景 nginx中经常有这样的场景,多个server块共用一个域名。 如:upstream有2个以上的域名,nginx配置两个server块,共用一个upstream配置。 那么,如果其中一个域名发生"no live upstreams while connecting to ups…...
基于信号完整性的一些PCB设计建议
最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线; 2. 理想情况下,所有信号都应该使用完整的电源或地平面作为其返回路径,关键信号则使用地平面作为返回路径; 3. 信号的返回参考面发生变化时,在尽可能接近…...
《BackTrader量化交易图解》第8章:plot 绘制金融图
文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函…...
什么是欧拉筛??
欧拉筛(Eulers Sieve),又称线性筛法或欧拉线性筛,是一种高效筛选素数的方法。它的核心思想是从小到大遍历每个数,同时标记其倍数为合数,但每个合数只被其最小的质因数标记一次,从而避免了重复标…...
2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑩
单元测试 一、任务要求 题目1:根据下列流程图编写程序实现相应处理,程序根据两个输入参数iRecordNum和IType计算x的值并返回。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足基路…...
使用WAF防御网络上的隐蔽威胁之SSRF攻击
服务器端请求伪造(SSRF)攻击是一种常见的网络安全威胁,它允许攻击者诱使服务器执行恶意请求。与跨站请求伪造(CSRF)相比,SSRF攻击针对的是服务器而不是用户。了解SSRF攻击的工作原理、如何防御它࿰…...
Redis基础系列-哨兵模式
Redis基础系列-哨兵模式 文章目录 Redis基础系列-哨兵模式1. 引言2. 什么是哨兵模式?3. 哨兵模式的配置4. 哨兵模式的启动和验证4.1 主master宕机,看会出现什么问题4.2 重启6379主机 5. 哨兵模式的工作原理和选举原理5.1. SDown主观下线(Subj…...
【angular教程240112】09(完) Angular中的数据请求 与 路由
【angular教程240112】09(完) Angular中的数据请求 与 路由 目录标题 一、 Angular 请求数据简介0 使用Angular内置模块HttpClientModule和HttpClientJsonpModule:1 Angular中的GET请求:2 Angular中的POST请求:3 Angular中的JSONP请求:4使用Axios进行数据请求: 二、 详解 Angul…...
go中拷贝文件操作
一. 拷贝文件内容到另一个文件位置 // 拷贝文件内容到另一个文件里面 func copyContent() {filepath1 : "d:/abc.txt"filepath2 : "e:/eee.txt"// 读取内容data, err : os.ReadFile(filepath1) // 使用os.ReadFile函数读取指定路径的文件内容if err ! nil…...
未来气膜体育馆的发展趋势是什么?
未来气膜体育馆的发展趋势是多方面的,以下是其中几个方面的趋势。 起初,随着人们对体育运动的需求不断增加,气膜体育馆的建设和使用将成为一种趋势。气膜体育馆具有灵活性和可移动性的特点,可以快速搭建和拆除,能够适…...
通信扫盲(五)
系列文章目录 1 通信扫盲(一): 通信的本质、通信发展史-各代移动通信的多祉技术、5G、6G应用场景/愿景、LTE是什么?3GPP是什么? 链接:通信扫盲(一) 2 通信扫盲(二&…...
nbcio-boot项目的文件上传与回显处理方法
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/n…...
《动手学深度学习》学习笔记 第9章 现代循环神经网络
本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…...
「HDLBits题解」Vector100r
本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接:Vector100r - HDLBits module top_module( input [99:0] in,output [99:0] out );integer i ; always (*) beginfor (i 0 ; i <…...
如何制作专业商业画册,提升品牌形象
随着市场竞争的日益激烈,商业画册作为展示企业形象和产品特点的重要载体,越来越受到企业的重视。然而,如何制作一份专业、有吸引力的商业画册,提升品牌形象呢? 在制作商业画册之前,首先要明确目标受众。根…...
vim升级和配置
vim升级和配置 1、背景2、环境说明3、操作3.1 升级VIM3.2 配置VIM3.2.1、编辑vimrc文件3.2.2、安装插件 1、背景 日常工作跟linux系统打交道比较多,目前主要用到的是Cenots7和Ubuntu18这两个版本的linux系统,其中Centos7主要是服务器端,Ubun…...
java通过okhttp方式实现https请求的工具类(绕过证书验证)
目录 一、引入依赖包二、okhttp方式实现的https请求工具类2.1、跳过证书配置类2.2、okhttp方式的 https工具类 三、测试类 一、引入依赖包 引入相关依赖包 <!--okhttp依赖包--> <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>…...
mysql定时备份shell脚本和还原
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言数据库备份分类mysqldump命令备份计划1.每日备份,保留30天备份文件2.每月1号备份,保留12个月备份文件 定时调度还原总结 前言 数据库备…...
DevOps搭建(十六)-Jenkins+K8s部署详细步骤
1、整体部署架构图 2、编写脚本 vi pipeline.yml apiVersion: apps/v1 kind: Deployment metadata:namespace: testname: pipelinelabels:app: pipeline spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metadata:labels:app: pipelinespec:containers:- nam…...
WaitForSingleObject 函数的诸多用途与使用场景总结
目录 1、WaitForSingleObject函数详细说明 2、在线程函数中调用WaitForSingleObject实现Sleep,可立即退出Sleep状态 3、调用WaitForSingleObject函数监测线程或进程是否已经退出 3.1、子进程实时监测主进程是否已经退出,主进程退出了,则子…...
AI00 RWKV Server:基于Vulkan的轻量级大模型本地推理部署指南
1. 项目概述:一个为RWKV模型打造的轻量级、高性能推理服务器 如果你正在寻找一个能让你在个人电脑上,甚至是集成显卡上,就能流畅运行大语言模型(LLM)的解决方案,那么AI00 RWKV Server绝对值得你花时间深入…...
Godot资源解包工具:专业级游戏资源提取技术方案
Godot资源解包工具:专业级游戏资源提取技术方案 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker Godot资源解包工具是一款专为Godot游戏引擎设计的专业级资源提取解决方案,能够…...
为什么 Promise 比 setTimeout 先执行?——JavaScript 事件循环与异步顺序完全指南
为什么 Promise 比 setTimeout 先执行?——JavaScript 事件循环与异步顺序完全指南 这是 JavaScript 异步中最经典也最容易困惑的问题之一。核心答案是: Promise 的回调属于 Microtask(微任务),setTimeout 属于 Macro…...
RE3SIM系统:3D真实感仿真数据生成技术解析
1. RE3SIM系统概述:3D真实感仿真数据生成新范式在机器人操作领域,获取高质量训练数据一直是制约算法发展的瓶颈。传统基于真实环境的示教数据采集不仅需要昂贵硬件支持,还依赖专业操作人员,单次任务采集成本可达数千元。RE3SIM系统…...
音频解密的终极方案:qmcdump高效解密QQ音乐加密格式全解析
音频解密的终极方案:qmcdump高效解密QQ音乐加密格式全解析 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你…...
我花三天实测了DeepSeek V4,发现它根本不是来跟GPT-4o打架的
2026年4月24号,DeepSeek V4发布。 同一天,GPT-5.5也发布了。 这不是巧合,这是宣战。 但测了三天之后,我发现一个反直觉的结论,DeepSeek V4的真正对手根本不是GPT-4o,也不是Claude 3.5。 它要干掉的…...
Java基础全套教程(三)—— 控制语句、方法、递归算法
Java基础全套教程(三)—— 控制语句、方法、递归算法 本章是Java编程从基础语法走向逻辑编程的核心转折点。前面我们学习了变量、数据类型、运算符,只能实现简单的顺序执行代码。而真正的程序,需要具备判断能力、重复执行能力、代…...
AI产品技能库实战:将专家经验注入Claude Code,打造你的虚拟产品专家
1. 项目概述:当AI助手遇上产品经理的“武林秘籍”如果你是一名产品经理、创业者,或者任何需要与产品打交道的人,最近可能已经感受到了AI助手带来的效率革命。无论是用Claude、ChatGPT还是其他工具来辅助写文档、分析数据,它们都像…...
将Taotoken作为内部AI中台统一对接各类客户端工具
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将Taotoken作为内部AI中台统一对接各类客户端工具 设想一个中型研发团队,内部已经引入了Claude Code、OpenClaw等多种A…...
从理论到实践:LQR在二自由度云台控制系统中的参数整定与仿真验证
1. LQR控制器的工程实践意义 二自由度云台在工业自动化、智能监控等领域应用广泛,但传统PID控制往往难以兼顾快速响应和稳定性的双重需求。LQR(线性二次型调节器)作为现代控制理论中的经典方法,通过优化目标函数实现对系统的精确控…...
