关于nginx的失败重试proxy_next_upstream

Nginx(12)_负载均衡 负载均衡算法 1、hash 2、ip_hash 3、least_conn 阅读详情

现有如下配置
在这里插入图片描述

负载了43.11跟43.3 两台服务器,43.3可以正常访问,43.11设置成了不正常的状态码是403,该配置表示120s内达到两次返回失败则判定该服务器服务异常将不会再向该服务器发送请求,直到等待120s之后继续发送请求。

之前看了nginx官网对于重试机制的解释,该失败的定义取决于proxy_next_upstream参数
在这里插入图片描述默认值为error,timeout
现在我们使用如上配置定义403也为失败条件,进行访问,查看43.11的日志
在这里插入图片描述发现并没有触发失败重试,也就是我们的配置没有生效,这点让我迷惑了下甚至看了其他博主讲解失败重试机制都没有找到答案所以我又去翻了翻官网proxy_next_upstream的定义,终于
在这里插入图片描述原来是这样,403,404永远不会被认为是失败,也就是说我们只有定义500,502这些才会被认为是失败尝试从而触发失败机制。

Nginx 中怎样实现请求的超时自动重试? 在 Nginx 中实现请求的超时自动重试,就像是给我们的网络应用加上了一层“保险”,能够在遇到意外情况时自动进行补救,提高系统的稳定性和可靠性。但同时,我们也需要谨慎地设置相关参数,充分考虑业务需求和影响,结合监控和故障排查进行优化,确保这一功能能够真正为我们的业务带来价值。就像驾驭一辆汽车,我们要熟悉各种控制装置(超时设置和重试策略),根据路况(业务场景)灵活调整,才能让我们的旅程(网络应用)更加平稳、顺利。🎉相关推荐🍅关注博主🎗️带你畅游技术世界,不错过每一次成长机会!📘Nginx 技术专栏。 阅读详情

相关推荐

Rancher入门到精通-2.0 Nginx失败重试中的HTTP协议幂等问题: non_idempotent

Nginx通过反向代理做负载均衡时,如果被代理的其中一个服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性。实际上Nginx本身默认会有错误重试机制,并且可以通过proxy_next_upstream来自定义配置。 如果不了解HTTP协议以及Nginx的机制,就可能在使用过程中遇到各种各样的坑。例如服务出现了错误或超时却未重试,或者一些例如创建订单或发送短信...

隔壁老瓦的专栏 1028

nginx的反向代理upstream失败重试策略

默认只有被动健康检测 upstream nginxtest{ #默认使用轮询节点分配请求 #max_fails默认=1,fail_timeout默认=10s; server localhost:8080 weight=5 max_fails=2 fail_timeout=5s; server localhost:8082 weight=1 max_fails=2 fail_timeout=5s; } server { listen 18080;

atzqtzq的博客 4152

Python 逆向解析知乎盐选反爬字体,实现内容精准还原

本文详细解析了知乎盐选内容的反爬字体机制,并提供了使用Python逆向解析WOFF字体文件的完整方案。通过fontTools库构建解码字典,实现乱码文本的精准还原,帮助开发者应对动态字体策略,同时强调法律与道德风险。

weixin_29268385的博客 1295

proxy_next_upstream 对POST无效

proxy_next_upstream 对POST无效 根据网上的教程,启用proxy_next_upstream后发现没有生效: upstream login_server{ server 10.32.105.18:8080 max_fails=1 fail_timeout=30s; server 10.32.80.75:8080 max_fails=1 fail_timeout=30s backup; } server { li

xmcy001122的专栏 955

腾讯2020 unreal虚幻面试题

解析一下,腾讯的unreal客户端面试题: 1.lua性能优化的方向 申请的内存,是造成卡顿的原因之一,在C++与lua交互中,如果参数或者返回值有类变量,那么这个变量不会再交互的栈中存放数据,而会通过申请内存,再指定在交互,这样就造成卡顿,因此可以通过把C++的对象的每个参数分开单独传递,可以解决问题,当时我们游戏改完这个问题后,整体提升了2帧。 其实,主要是Tick循环中,减少与C++的交互,需要的数据不要每帧都去拿,其次,经常拿的一些数据(比方说主角信息),可以做一个lua缓存,...

qq_17347313的博客 1万+

【学一点英飞凌】AutoSar-MCAL-Gtm-TOM模块

本文基于英飞凌TC3X7芯片手册,GTM的TOM模块是产生并输出PWM的地方,想要彻底了解PWM,就必须知道它是怎么产生和如何被输出的。TOM通道还没有介绍的,详见下一篇;

qq_44688936的博客 6030

nginx upstream 配置实现多服务器无感知切换

    在开发过程中,开发完成,完成测试阶段,修复bug后都要重启后台服务,测试又在测试,每次重启都要一两分钟,平凡的重启,测试不干了;所以想到就是部署两台服务器;用nginx upstream 模块实现 无感知部署,发现一个bug,修复;直接部署不会打断测试;原来的测试环境部署的jenkins部署的,在一台机器中部署了,现在要需要增加一个部署一台机器;我们在jenkins的项目中部署脚本中再部署...

chenhuaping007的专栏 1万+

相机标定-张正友棋盘格标定法

(X,Y,Z)为在世界坐标系下一点的物理坐标 ( u , v ) 为该点对应的在像素坐标系下的像素坐标 引入齐次坐标的原因:引入齐次坐标的目的是为了升维,将坐标从二维坐标变为三维坐标。 2.相机成像过程 相机成像系统中,共包含四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 (1)世界坐标系(,,) 描述目标在真实世界中的位置引入的参考坐标系。 (2)相机坐标系(,,) ...

qq_41275123的博客 1万+

在nginx中,proxy_next_upstream off是什么含义

proxy_next_upstream off 表示完全关闭 Nginx 的上游节点自动故障重试机制。请求被分发到 upstream 组内某一台后端服务器后,无论发生连接失败、读写超时,还是后端返回错误响应,Nginx 都不会自动切换到组内其他节点重试,而是直接将当前结果返回给客户端。

翔云 180

【kubernetes】kubernetes kubeadm init 错误了 怎么回退?

因为虚拟机设置问题首先报错:然后我根据文章修改了核数。重启后,查看VIP运行所在机器,发现机器没有变化然后重新执行初始化后面报错了根据提供的信息,问题主要集中在 kubelet 未能成功启动控制平面组件,导致初始化过程超时。以下是可能的原因及相应的排查步骤:原因 1:kubelet 未运行或运行状态异常正如错误提示所指出,kubelet 可能未运行或处于不健康状态。请按照提示执行以下命令检查 kubelet 的状态和服务日志:根据输出结果,判断 kubelet 是否正常运行。后续一大堆错误。

九师兄 121

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

2079

nginx 负载均衡 POST请求失败重试问题

从nginx 1.9.13开始,默认情况下不重试非幂等请求(PUT、POST等),本文介绍如何处理这种情况。

Uncle_Jie的博客 2503

【测绘程序设计】——潮汐调和分析

最小二乘潮汐调和分析源码、使用示例及数据

C_xxy's blog 2652

invalid signature 错误原因验签失败_Nginx 失败重试机制

可直接点击上方蓝字(网易游戏运维平台) 关注我们,获一手游戏运维方案src网易游戏 SRE,喜欢钻研与分享。背景 Nginx 作为目前应用较广的反向代理服务,原生提供了一套失败重试机制,来保证服务的可用性。本文主要是通过一些简单例子来剖析 Nginx 失败重试机制,让读者能对该机制有一个基础的了解,避免在使用过程中踩坑。本文中的结论在以下环境进行验证:版本详情:nginx/1.16.0...

weixin_39554290的博客 1340

米哈游运维面试题及参考答案

Linux 系统运行级别是用于定义系统启动时所需要达到的功能状态。运行级别 0:表示系统停机状态,用于关闭系统,是系统的关机级别。当系统切换到这个级别时,会停止所有的服务和进程,然后关闭系统。运行级别 1:也称为单用户模式。在这个级别下,系统只启动基本的系统服务和必要的进程,仅允许 root 用户登录系统进行维护操作,常用于系统出现故障需要紧急修复的情况,比如修复文件系统错误、重置 root 密码等。运行级别 2:多用户模式,但不支持网络文件系统(NFS)。

大模型大数据攻城狮的专栏 745

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Nginx 失败重试机制

Nginx 失败重试机制 原创src网易游戏运维平台5天前 src 网易游戏 SRE,喜欢钻研与分享。 背景 Nginx 作为目前应用较广的反向代理服务,原生提供了一套失败重试机制,来保证服务的可用性。本文主要是通过一些简单例子来剖析 Nginx 失败重试机制,让读者能对该机制有一个基础的了解,避免在使用过程中踩坑。 本文中的结论在以下环境进行验证: 版本详情:n...

Fish 1717

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用nginx实现平滑上线

背景介绍:易车的网站在部署的时候有几台机器要走公网,刚开始的时候的方案就是,采用nginx的错误状态码重试,当然在开发过程中,开发完成,完成测试阶段,修复bug后都要重启后台服务,测试又在测试,每次重启都要一两分钟,平凡的重启,测试不干了;所以想到就是部署两台服务器;用nginx upstream 模块实现 无感知部署,发现一个bug,修复;直接部署不会打断测试; 所以该方法虽然在线上环境经...

阿拉斯加大闸蟹的博客 2378

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

nginx后端节点健康检查

一、nginx健康检查的三种方式 1、ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带) 官网地址:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream 2、nginx_upstream_check_module模块 ...

weixin_34211761的博客 191

nginx的重试机制 proxy_next_upstream

现在对外服务的网站,很少只使用一个服务节点,而是部署多台服务器,上层通过一定机制保证容错和负载均衡。 nginx就是常用的一种HTTP和反向代理服务器,支持容错和负载均衡。 nginx的重试机制就是容错的一种。 在nginx的配置文件中,proxy_next_upstream项定义了什么情况下进行重试,官网文档中给出的说明如下: Syntax: proxy_next_u...

weixin_30628801的博客 532

nginx backup 功能

nginx backup 功能已实现,404 页面不转到备机, 502 503 504 到备机。 配置如下 upstream server_tomcat1 { server 127.0.0.1:9001 weight=1 max_fails=5 fail_timeout=60s; server 127.0.0.1:9010 weight=1 max_fails=5 fail...

weixin_30621711的博客 2002

Nginx通过proxy_next_upstream来自定义配置错误重试机制

Nginx通过反向代理做负载均衡时,如果被代理的其中一个服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性。实际上Nginx本身默认会有错误重试机制,并且可以通过proxy_next_upstream来自定义配置。

码者人生的技术博客 2097

Nginx之upstream被动式重试机制

异常状态码部分(就是 4xx、5xx 错误)。上游服务器返回空响应或者非法响应头。

weixin_62845931的博客 1789

Nginx之upstream被动式重试机制解读z

我们使用Nginx通过反向代理做负载均衡时,如果被代理的其中一个服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性。实际上Nginx本身默认会有错误重试机制,并且可以通过来自定义配置。Nginx 通过参数来定义什么情况下会被认为是 fails,从而触发失败重试机制。默认错误,包括 error、timeout选择定义错误,包含 invalid_header 以及各种异常 http 状态码错误等。

一个菜鸡的博客 1986

nginx的proxy_next_upstream使用中的一个坑

事后我使用openresty,写了些简单的hello world来测试nginx的这个proxy_next_upstream, 完全没有问题呀,可是线上的这个服务就是不行,真的想砸了电脑的心都有了。至于为什么我用openresty写的试验会成功,而线上的这个服务一直失败的原因,实则是因为我试验的接口是GET访问的,而线上的服务是POST访问的。今天线上系统出了点问题,机房的电信出口突然不通了,原本以为能自动切换的nginx配置,居然没有生效,导致了业务告警,手工紧急处理了才解决了。

qingyuwp的博客 1062
上一篇: 内网DNS服务搭建
下一篇: keepalived+redis+sentinel部署一主多从热备
filtercomp
博客等级 码龄5年 33粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值