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_typeapplication/octet-stream;
log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_loglogs/access.logmain;
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_size100m;
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;
}
}
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]