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

nginx反向代理上游服务器主从配置

nginx.conf中可以将location反向代理到一个或多个上游服务器处理,其中多个上游服务器可以配置成一个上游服务器组,并定义相应的NLB策略来相应请求,比如默认的轮询、最少连接数、IP哈希、权重等。
我们考虑另外一种主从的场景,只要主服务器可以正常响应就一直由主服务器处理请求,当主服务器响应出错时,再由从服务器来处理请求。那么location段可以这样配置:

	location /api/ {
		proxy_pass    http://master.demo.com.cn/api; 
		error_page 502 503 504 = @backup;
		}

	location @backup {
		return 302 https://slave.demo.com.cn/api;
		}

如果我们还想再多尝试访问一次主服务器确实不好使再转向从服务器的话,可以这样写:

	location /api/ {
		proxy_pass    http://master.demo.com.cn/api; 
		proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
		proxy_next_upstream_tries 1;
		error_page 502 503 504 = @backup;
		}

	location @backup {
		return 302 https://slave.demo.com.cn/api;
		}

proxy_next_upstream 参数一般用于配置了多个上游服务器的上游服务器组,会尝试转发到另外一台上游服务器,不过如果没有没有配置上游服务器组的话,它会对于那唯一的一台服务器再次尝试一次。


http://www.kler.cn/a/395880.html

相关文章:

  • 民事诉讼中,火灾事故认定书并非不可推翻,其证明力弱于鉴定意见
  • [DB]
  • Ceph的pool有两种类型
  • Javascript高级—常见算法
  • 《Python Web 抓取实战:豆瓣电影 Top 250 数据抓取与分析》
  • 【JavaEE初阶 — 多线程】生产消费模型 阻塞队列
  • python面向对象基础入门
  • RK3568平台开发系列讲解(设备树篇)device_node 转换成 platform_device
  • 《译文》2024年11月数维杯国际大学生数学建模挑战赛题目
  • Figma汉化:提升设计效率,降低沟通成本
  • numpy中的transpose()和pytorch中的permute()
  • 【深度学习】损失函数介绍及代码实现
  • RHCE的学习(17)
  • Python_爬虫2_爬虫引发的问题
  • 实习冲刺第二十二天
  • MySQL如何解决幻读?
  • 15分钟学 Go 第 54 天 :项目总结与经验分享
  • 基于微信小程序的药店管理系统+LW示例参考
  • 一道C语言关于距离的期末题及答案
  • 自然推理系统:的拒取式的解析
  • 数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)
  • 想要成为独立游戏作者 :通关!游戏设计之道 2-2 关卡设计
  • Unity图形学之Shader2.0 深度测试
  • 双指针优质算法题集
  • 基于STM32的智能语音识别饮水机系统设计
  • Ajax异步调用