NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)

nginx的if支持=!= 逻辑比较, 但不支持if中 <<>=<= 比较.
本示例使用了set-misc-nginx-module

location = /test/ {
    default_type html;
    set_random $a 0 9;      #$a 随机 从0-9取
    if ( $a <= 4 ){         #$a 如果 < 4 这是错误的写法
        echo 'a: $a is lte 4';
    }
    if ( $a >= 5 ){         #$a 如果 > 5 这是错误的写法
        echo 'a: $a is gte 5';
    }
}

上面的配置, 在启动nginx时会报错误的.

即然不支持,那有没有办法小小地弥补下呢?

location = /test/ {
    default_type html;
    set_random $a 0 9;     #$a 随机 从0-9取
    if ( $a ~ [0-4] ){     #$a 如果 正则匹配 0-4
        echo 'a: $a is lte 4';
    }
    if ( $a ~ [5-9] ){     #$a 如果 正则匹配 5-9
        echo 'a: $a is gte 5';
    }
}

测试10次:

a: 8 is gte 5
a: 9 is gte 5
a: 2 is lte 4
a: 1 is lte 4
a: 8 is gte 5
a: 0 is lte 4
a: 9 is gte 5
a: 1 is lte 4
a: 4 is lte 4
a: 5 is gte 5
...

骚年, 速度加入A.R.G.U.S.网络安全小组, 跟老夫们一起学nginx吧~


千里码博客
A.R.G.U.S.网络安全小组

便宜的SSL证书 www.ssl.com.ru

1.6k 声望
154 粉丝
0 条评论
推荐阅读
个人如何免费接入微信支付, 不用交300块钱
也不是没有办法, 微信现在推出了"服务商"模式, 也就是给线下小微商户开通微信收款的权限. 而微信为了方便服务商拓展业务, 给了服务商替商户发起支付的 API 接口, 支付完成再通知到服务商. 然后第二天, 到账的钱会...

ARGUS3阅读 8k

Nginx常用配置及和基本功能讲解 | 京东云技术团队
作者:京东物流 殷世杰Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Nginx入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Nginx的基本功...

京东云开发者6阅读 606

封面图
有了 NGINX 和 Kong,为什么还需要 Apache APISIX?
2021 年 5 月,云原生社区技术沙龙·广州站,API7.ai(支流科技)联合创始人 & CTO,Apache APISIX PMC 王院生在活动上做了《有了 NGINX 和 Kong,为什么还需要 Apache APISIX》的分享,以下是现场分享的文字版。...

API7_技术团队1阅读 4.4k

反向代理学习笔记(一) Nginx与反向代理绪论
作为一个沪漂程序员,听到代理这个词,我下意识的想到了中介,现在在上海已经很少能找到房东看房子了,基本上都是从中介那里看房,从这个角度来说中介代理了房东的部分职责,带你看房。在汉语词典中也是这么阐释...

北冥有只鱼2阅读 1k

封面图
vue项目部署到阿里云服务器(windows - Nginx代理)
项目构成:前端:vue+vant-ui,数据库:mysql,后端:node.js部署方式:nginx代理一,首先要拥有自己的服务器,阿里,腾讯都可以,我用的是阿里的购买方式省略...购买完成后,会跳到实例界面,也就是你的服务器实...

墨城2阅读 778

前端跨域问题解决办法, Nginx配置为例
💡 Tips:可以将多个系统融合成一个系统,无技术壁垒,可以像iframe一样实现功能组合● qiankun (阿里支持)● micro-app (京东支持)● wujie (腾讯支持)本人推荐● lingjie 携程支持(团队已跑路)

smallStone3阅读 1.4k评论 3

(学习到实践)七、mongodb测试,php+nginx负载均衡的部署
从测试容器中匹配搜索得到 mongod.conf.orig,设置可以启动,网上查找配置项反不能启动,原因是配置是yaml格式!好像听说过。百度查询得到:官方配置说明,网站卡得出奇。

沧浪水阅读 2.9k

便宜的SSL证书 www.ssl.com.ru

1.6k 声望
154 粉丝
宣传栏