Apisix自定义httpcode 请求重试

我们通过插件来做比较麻烦并且还需要考虑重新lb的问题,有一个比较简单的方法是利用nginx的请求重试信号。

Apisix本身默认也有该种设定,不过默认只针对 timeout情况会请求重试

默认请求重试次数是:updateam node 节点数量 -1

相关逻辑在apisix-balancer.luaset_balancer_opts 方法中

设置Nginx配置文件,添加请求重试判断:

我们在 ngx_tpl.lua 760行添加如下配置,示例httpcode可更换
proxy_next_upstream error timeout http_500 http_429 non_idempotent;

支持重试的httpcode可以查看 nginx官方proxy-next-upstream文档

apisix在发生请求重试时,打印的日志中 upstream-statusupstream 会依次将每次请求的结果、上游地址记录出来

相关推荐
難釋懷12 小时前
Nginx-CA 签名
服务器·nginx·ssl
梅孔立15 小时前
解决Nginx缓存不写入响应体问题:浏览器强制不缓存配置教程
java·开发语言·nginx·spring
qq_3564086615 小时前
Kubernetes Loki 日志收集系统部署文档 (读写分离模式 + Ceph S3 + Nginx 日志分离)
ceph·nginx·kubernetes
齐齐大魔王17 小时前
OpenSSL 原理
运维·网络·nginx·ssh·ssl
蜀道山老天师19 小时前
Docker 部署 Nginx Proxy Manager:可视化反向代理 + SSL 证书一键配置
nginx·docker·ssl
闪电悠米19 小时前
黑马点评-分布式锁-03_lua_atomic_unlock
java·数据库·分布式·缓存·oracle·wpf·lua
TheSumSt19 小时前
日常教程丨远程串流打游戏方法介绍(Parsec/Tailscale+Headscale+DERP+Sunshine&Moonlight)
linux·网络·经验分享·nginx·开源·玩游戏
像我这样帅的人丶你还19 小时前
🚀🚀🚀2026年还不会Nginx?
前端·nginx
小二·20 小时前
Nginx 高级配置实战:负载均衡/SSL/缓存优化
nginx·负载均衡·ssl
好好风格2 天前
宝塔面板 HTTPS 端口证书不生效排查记录
linux·运维·nginx