当前位置: 首页 > news >正文

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作用
test1192.168.10.129nginx代理服务器
test2192.168.10.130、192.168.10.150upstream服务器(用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攻击的工作原理、如何防御它&#xff0…...

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代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接&#xff1a;Vector100r - HDLBits module top_module( input [99:0] in,output [99:0] out );integer i ; always (*) beginfor (i 0 ; i <…...

如何制作专业商业画册,提升品牌形象

​随着市场竞争的日益激烈&#xff0c;商业画册作为展示企业形象和产品特点的重要载体&#xff0c;越来越受到企业的重视。然而&#xff0c;如何制作一份专业、有吸引力的商业画册&#xff0c;提升品牌形象呢&#xff1f; 在制作商业画册之前&#xff0c;首先要明确目标受众。根…...

vim升级和配置

vim升级和配置 1、背景2、环境说明3、操作3.1 升级VIM3.2 配置VIM3.2.1、编辑vimrc文件3.2.2、安装插件 1、背景 日常工作跟linux系统打交道比较多&#xff0c;目前主要用到的是Cenots7和Ubuntu18这两个版本的linux系统&#xff0c;其中Centos7主要是服务器端&#xff0c;Ubun…...

java通过okhttp方式实现https请求的工具类(绕过证书验证)

目录 一、引入依赖包二、okhttp方式实现的https请求工具类2.1、跳过证书配置类2.2、okhttp方式的 https工具类 三、测试类 一、引入依赖包 引入相关依赖包 <!--okhttp依赖包--> <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>…...

mysql定时备份shell脚本和还原

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言数据库备份分类mysqldump命令备份计划1.每日备份&#xff0c;保留30天备份文件2.每月1号备份&#xff0c;保留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&#xff0c;可立即退出Sleep状态 3、调用WaitForSingleObject函数监测线程或进程是否已经退出 3.1、子进程实时监测主进程是否已经退出&#xff0c;主进程退出了&#xff0c;则子…...

手把手教你用XTTS v2克隆自己的声音:从录音到生成的完整避坑指南

零基础玩转XTTS v2语音克隆&#xff1a;从录音到生成的保姆级实战手册 1. 语音克隆技术的前世今生 语音合成技术&#xff08;TTS&#xff09;的发展已经走过了数十年的历程。从早期的机械式发音到如今的神经网络语音合成&#xff0c;技术的进步让语音克隆变得越来越自然。XTTS …...

Linux系统swap分区动态调整实战指南

1. 为什么需要动态调整swap分区&#xff1f; 第一次接触Linux服务器管理时&#xff0c;我发现一个奇怪现象&#xff1a;明明物理内存还剩不少&#xff0c;系统却开始频繁使用swap分区&#xff0c;导致应用响应变慢。后来才知道&#xff0c;这是典型的swap配置不合理案例。swap分…...

CosyVoice模型怎么选?300M、0.5B、SFT、Instruct版本差异与实战效果对比

CosyVoice模型选型指南&#xff1a;从参数规模到微调版本的深度解析 当你成功安装CosyVoice后&#xff0c;打开pretrained_models目录可能会被琳琅满目的模型文件搞得一头雾水——300M、0.5B、SFT、Instruct这些后缀究竟意味着什么&#xff1f;作为一款新兴的开源语音合成系统&…...

6ES5943-7UB21西门子中央处理器模块

型号全称&#xff1a;西门子 SIMATIC S5-115U CPU 943B 中央处理器模块订货号&#xff1a;6ES5943-7UB21一、产品特性属于SIMATIC S5-115U系列中型 PLC 中央处理单元型号为CPU 943B&#xff0c;自带48KB RAM工作内存配备2 路 TTY 通信接口&#xff0c;支持编程器 / 上位机连接带…...

3步打造本地化文档处理中枢:Convert-Lite全流程效率提升指南

3步打造本地化文档处理中枢&#xff1a;Convert-Lite全流程效率提升指南 【免费下载链接】convert-lite flashai-convert-lite&#xff0c;离线免费文档转换工具&#xff0c;支持pdf to markdown,word to markdown,excel to markdown,ppt to markdown, html to markdown,image …...

Ubuntu 20.04 下 Vitis 2021.2 离线安装全记录:从77G压缩包到环境变量配置(附磁盘分区建议)

Ubuntu 20.04环境下Vitis 2021.2超大型工程软件部署实战指南 当77GB的Vitis安装包静静躺在硬盘角落时&#xff0c;任何工程师都会意识到这将是一场硬仗。不同于常规软件安装&#xff0c;FPGA开发环境的部署更像是在操作系统中搭建另一个操作系统——它需要精确的磁盘规划、严格…...

告别Apache POI!用EasyExcel实现多sheet模板填充的3种高效方法

告别Apache POI&#xff01;用EasyExcel实现多sheet模板填充的3种高效方法 在Java开发中&#xff0c;处理Excel文件是常见的需求&#xff0c;尤其是需要生成包含多个sheet的复杂报表时。传统上&#xff0c;Apache POI是处理Excel文件的主流选择&#xff0c;但其API复杂、内存消…...

3D Face HRN生产环境部署:支持Nginx反向代理+HTTPS外网安全访问

3D Face HRN生产环境部署&#xff1a;支持Nginx反向代理HTTPS外网安全访问 你想把那个酷炫的3D人脸重建模型放到公网上&#xff0c;让团队成员或客户也能用上吗&#xff1f;直接暴露Gradio的端口&#xff0c;不仅不安全&#xff0c;还可能因为网络问题访问不了。 今天&#x…...

智能告警管理平台如何帮助运维团队减少75%告警噪音:Keep AIOps平台实践指南

智能告警管理平台如何帮助运维团队减少75%告警噪音&#xff1a;Keep AIOps平台实践指南 【免费下载链接】keep The open-source alerts management and automation platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在现代IT环境中&#xff0c;运维团队…...

终极CodePilot代码搜索服务完整指南:从安装到精通使用技巧 [特殊字符]

终极CodePilot代码搜索服务完整指南&#xff1a;从安装到精通使用技巧 &#x1f680; 【免费下载链接】codepilot The code search service to rule them all and in a dark theme, bind them. 项目地址: https://gitcode.com/gh_mirrors/cod/codepilot CodePilot是一款…...