• 售前

  • 售后

热门帖子
入门百科

Nginx 设置根据哀求IP末段举行分流的方法

[复制链接]
随缘6872 显示全部楼层 发表于 2021-10-26 14:31:39 |阅读模式 打印 上一主题 下一主题
主要是 location 参数中的 if 判断的设置跳转,分流能减轻服务器的负载和压力,这种是一种非经常见的服务器部署架构。
根据 IP 最后一段的范围来跳转
  1. #域名,ip,端口等信息请自行修改
  2. upstream huaji-01.com {
  3. server 192.168.1.100:8080;
  4. }
  5. upstream huaji-02.com {
  6. server 192.168.1.200:8080;
  7. }
  8. server {
  9. listen 80;
  10. server_name www.huaji.com;
  11. location /
  12. {
  13.   if ( $remote_addr ~* ^(.*)\.(.*)\.(.*)\.[1,125]$) {
  14.     proxy_pass http://huaji-01.com;
  15.     break;
  16.   }
  17.   proxy_pass http://huaji-02.com;
  18. }
  19. }
复制代码
以上为将 IP 末段为 1-125 的哀求泉源转发到 huaji-01.com,其他转向huaji-02.com,同样可以修改正则,比方
规则: $remote_addr ~* ^(.*)\.(.*)\.(.*)\.*[0268]$ 末尾为0268这样的偶数ip,跳转到 huaji-01.com,其他跳转到第二个域名;
规则:$remote_addr ~* ^(112)\.(.*)\.(.*)\.(.*)$ 开头为 112 的 IP 跳转到指定的域名;
规则:$http_x_forwarded_for ~* ^(112)\.(.*)\.(.*)\.(.*)$ 根据 forward 地址段来分流,开头为 112 的跳转到指定域名
if 指令条件判断的寄义:
正则表达式匹配,其中:
~ 为区分巨细写匹配
~* 为不区分巨细写匹配
!~ 和 !~* 分别为区分巨细写不匹配及不区分巨细写不匹配
文件及目次匹配,其中:
-f 和 !-f 用来判断是否存在文件
-d 和 !-d 用来判断是否存在目次
-e 和 !-e 用来判断是否存在文件或目次
-x 和 !-x 用来判断文件是否可执行
rewrite指令的最后一项参数为flag标记,flag标记有:
last 相当于 apache 内里的 [L] 标记,表示 rewrite。
break 本条规则匹配完成后,制止匹配,不再匹配背面的规则。
redirect 返回 302 临时重定向,欣赏器地址会体现跳转后的 URL 地址。
permanent 返回 301 永久重定向,欣赏器地址会体现跳转后的 URL 地址。

以上就是本文的全部内容,渴望对大家的学习有所资助,也渴望大家多多支持脚本之家。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作