欢迎来到站长教程网!

Nginx

当前位置:主页 > 服务器教程 > Nginx >

操作nginx如何匹配多个条件

时间:2021-05-04|栏目:Nginx|点击:

问题阐明

熟悉nginx的都知道,nginx不想其他语言那样可以支持逻辑或与运算,也不支持if else和if嵌套。

因为公司内部处事器不答允外部会见,所以在nginx利用$remote_addr对ip做了限制。可是在微信上会见会呈现ip不是真实ip的环境。真实ip呈此刻$http_x_forwarded_for内里。

处理惩罚要领

需求

这里需要匹配$remote_addr $http_x_forwarded_for这两项个中一个获取是内部ip即可会见。

设置nginx

$remote_addr不匹配 $flag为01,$http_x_forwarded_for也不匹配 $flag为011,最后返回403.

set $flag 0;
if ($remote_addr !~ (127.0.0.1)) {
 set $flag "${flag}1";
}
if ($http_x_forwarded_for !~ (127.0.0.1)) {
 set $flag "${flag}1";
}
if ($flag = "011") {
 return 403;
}

总结

以上就是这篇文章的全部内容了,但愿本文的内容对各人的进修可能事情能带来必然的辅佐,假如有疑问各人可以留言交换,感谢各人对本网站的支持。

您大概感乐趣的文章:

上一篇:CentOS 7下安装Nginx处事器

栏    目:Nginx

下一篇:CentOS操作Nginx搭建下载成果处事器

本文标题:操作nginx如何匹配多个条件

本文地址:www.jiaocheng88.com.cn/Nginx/61838.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:584415406 | 邮箱:584415406#qq.com(#换成@)

Copyright © 2015-2020 小白站长教程网 版权所有 苏ICP备20040415号-3