本文主要介绍nginx前端根据$remote_addr的详细分配方法,通过示例代码详细介绍,对大家的学习或工作有一定的参考价值。有需要的朋友下面和边肖一起学习。
需求如下:
域名下有几个服务器。现在是针对某个区域进行测试,让某个区域的ip用户只能访问某个服务器,单独做测试。如果没有问题,全部更新;有问题,影响小,发现问题及时解决;
解决方案:
使用nginx的模块在前端负载均衡转发机上配置匹配规则;
Nginx在vhost中配置域名下面的位置部分,并添加代码。
如果$remote_addr匹配ip,则转发给ABC _ test _ server
服务器{
听80;
服务器名abc.com.cn;
access _ log/dev/null;
error _ log/data/logs/error . log;
位置/{
proxy _ set _ header Host $ host
proxy _ set _ header X-Real-IP $ remote _ addr;
proxy _ set _ header X-Forwarded-For $ proxy _ add _ X _ Forwarded _ For;
if($ remote _ addr ~ ' 202 . 96 . 134 . 100 ')
{
http://abc _ test _ server
打破;
}
代理_通行证http://abc _服务器;
}
}
还需要添加负载平衡配置。
#仅abc _测试
上游abc _测试_服务器{
服务器192 . 168 . 20 . 10:80;
}
#abc.com.cn
上游abc _服务器{
服务器192 . 168 . 20 . 11:80;
服务器192 . 168 . 20 . 12:80;
服务器192 . 168 . 20 . 13:80;
}
将设置好的ip直接分配给后端服务器192.168.20.10进行测试;
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。