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

Nginx负载均衡时如何为指定ip配置固定服务器

      大家在用Nginx做负载均衡时,一般是采用默认的weight权重指定或默认的平均分配实现后端服务器的路由,还有一种做法是通过ip_hash来自动计算进行后端服务器的路由,但最近遇到一个问题,就是希望大部分用户采用ip_hash自动分配后端服务器的同时,如何将指定ip或ip段访问指向指定后端服务器?本文主要利用Nginx的upstream模块的ip_hash实现负载均衡,同时结合geo模块,通过ip_hash、default来实现上述需求,具体配置情况如下,供大家参考,记得重启nginx,即可实现配置调整。配置完成后,ip为10.45.217.0/24段的用户在访问http://10.40.129.100:3001时,将自动路由到http://10.40.129.61:3000。

# 本机ip:10.40.129.100,以下是nginx.conf配置文件。
http {
	include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
	                  '$status $body_bytes_sent "$http_referer" '
	                  '"$http_user_agent" "$http_x_forwarded_for"';
	access_log  logs/access.log  main;

	geo $back_servers {
	    default backend;  # 默认后端
	    10.45.217.0/24 backend2;  # 指定 IP 段对应的后端服务器(10.40.129.61) 客户端的C段:相当于10.45.217.0至10.45.217.255之间的所有ip。
	}

    upstream backend {
        ip_hash;
        server 10.40.129.61:3000;  
        server 10.40.129.90:3000;  
    }
	upstream backend2 {
	    server 10.40.129.61:3000;  
	}

        # 1.HTTP Server
        server {
           listen       3001;    
           location / {             
				client_max_body_size  100m;
            	proxy_set_header Host $host:3000;
            	proxy_set_header X-Real-IP $remote_addr;
            	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            	proxy_set_header X-Forwarded-Proto $scheme;	
				proxy_set_header   Connection   ""; 
				proxy_pass http://$back_servers;
           }
        }
}

相关文章:

  • 25.6 多模态AI类型系统实战:日均10万请求下的99.99%可靠性保障与10倍性能提升
  • 《Java八股文の文艺复兴》第十篇:量子永生架构——对象池的混沌边缘
  • C# 属性(Property)
  • 双向链表示例
  • FreeRTOS任务创建和删除(静态)
  • 蓝桥杯嵌入式比赛的做题步骤总结!
  • Elastic 的 OpenTelemetry 分发版(EDOT)现已正式发布:开源、可用于生产环境的 OTel
  • 【HFP】蓝牙HFP应用层核心技术研究
  • 23种设计模式中的观察者模式
  • 26考研 | 王道 | 数据结构 | 第五章 树
  • mybatis plus 实体类基于视图,更新单表的时候报视图或函数‘v_视图名‘不可更新,因为修改会影响多个基表的错误的简单处理方法。
  • 基于BP神经网络的杂草智能识别系统(杂草识别、Python项目)
  • mac安装浏览器闪退处理
  • 【ARTS】【LeetCode-2873】有序三元组中的最大值!
  • 计算机系统--- BIOS(基本输入输出系统)
  • 内网渗透-MySQL提权
  • Java面试黄金宝典38
  • 一周学会Pandas2 Python数据处理与分析-NumPy数组属性
  • 不用训练,集成多个大模型产生更优秀的输出
  • 4.4刷题记录(哈希表)
  • java做网站的步骤/seo工具下载
  • wordpress文章保存图片不显示图片/关于进一步优化
  • nodejs 做视频网站/网络营销五个主要手段
  • 有哪些网站教做吃的/网络推广技术外包
  • wordpress登陆页面模板下载/个人做seo怎么赚钱
  • 百度云建设网站/培训平台有哪些