服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟服务器|服务器安全|DNS服务器|服务器知识|Nginx|

服务器之家 - 服务器技术 - Nginx - Nginx实现if多重判断配置方法示例

Nginx实现if多重判断配置方法示例

2019-10-27 14:37Nginx配置网 Nginx

这篇文章主要介绍了Nginx实现if多重判断配置方法示例,本文直接给出实现代码,需要的朋友可以参考下

nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现:
首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:

复制代码代码如下:

if ($remote_addr ~ "^(12.34|56.78)" && $http_user_agent ~* "spider") { 
    return 403; 
}


下面这是等效的,并真实可用的配置

复制代码代码如下:

set $flag 0; 
if ($remote_addr ~ "^(12.34|56.78)") { 
    set $flag "${flag}1"; 

if ($http_user_agent ~* "spider") { 
    set $flag "${flag}2"; 

if ($flag = "012") { 
    return 403; 
}

延伸 · 阅读

精彩推荐
北京塞车全天计划精准版 场地赛车和拉力赛车 河北十一选五的预测号 街机捕鱼单机版下载 舟山体彩飞鱼最新开奖结果 股票入门视频推荐 辽宁快乐12开走势图 今晚免费波色单双大小 广东11选5人工计 广西快乐双彩复式玩法 四肖八码期期准精选资料丿 极速快3技巧赚钱方法 青海快三开奖查询60期 哈灵麻将下载安装安卓 陕西十一选五基本走势图 喜乐彩票下载安装 捕鱼游戏变赌博