nginx if多条件判断_LightZhang666的博客-CSDN博客_nginx if 多条件判断


本站和网页 https://blog.csdn.net/woshizhangliang999/article/details/51701327 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

nginx if多条件判断_LightZhang666的博客-CSDN博客_nginx if 多条件判断
nginx if多条件判断
LightZhang666
于 2016-06-17 17:08:11 发布
48656
收藏
分类专栏:
linux
Web服务器
linux
同时被 2 个专栏收录
226 篇文章
2 订阅
订阅专栏
Web服务器
6 篇文章
0 订阅
订阅专栏
原文出处:nginx 逻辑运算
nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。
我们可以用变量的方式来间接实现。
要实现的语句:
if ($arg_unitid = 42012 && $uri ~/thumb/){
echo "www.ttlsa.com";
如果按照这样来配置,就会报nginx: [emerg] invalid condition错误。
如下:
[root@zhang nginx]# /etc/init.d/nginx reload
nginx: [emerg] invalid location modifier "!~*" in /etc/nginx/nginx.conf:389
nginx: configuration file /etc/nginx/nginx.conf test failed'
………………
[root@zhang nginx]# /usr/sbin/nginx -t
nginx: [emerg] invalid condition "$uri" in /etc/nginx/nginx.conf:365
nginx: configuration file /etc/nginx/nginx.conf test failed
可以这么来实现,如下所示:
set $flag 0;
if ($uri ~ ^/thumb/[0-9]+_160.jpg$){
set $flag "${flag}1";
if ($arg_unitid = 42012){
set $flag "${flag}1";
if ($flag = "011"){
echo "www.ttlsa.com";
LightZhang666
关注
关注
点赞
收藏
评论
nginx if多条件判断
原文出处:nginx 逻辑运算nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。我们可以用变量的方式来间接实现。要实现的语句:if ($arg_unitid = 42012 && $uri ~/thumb/){ echo "www
复制链接
扫一扫
专栏目录
利用nginx如何匹配多个条件
01-10
问题分析
熟悉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
Nginx中if语句的判断条件与多条件判断详解
09-30
主要介绍了关于Nginx中if语句的判断条件与多条件判断的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
参与评论
您还未登录,请先
登录
后发表或查看评论
nginx中rewrite和if的用法
最新发布
m0_64919856的博客
10-16
357
nginx中rewrite和if的用法
nginx中if的判断条件
wiscourper的博客
04-24
936
1、正则表达式匹配:
==:等值比较;
~:与指定正则表达式模式匹配时返回“真”,区分字符大小写;
~*:与指定正则表达式模式匹配时返回“真”,不区分字符大小写;
!~:与指定正则表达式模式不匹配时返回“真”,区分字符大小写;
!~*:与指定正则表达式模式不匹配时返回“真”,不区分字符大小写;
2、文件及目录匹配判断:
-f, !-f:判断指定的路径是否为存在且为文件;
-d...
nginx if判断_都快2021了,还不来了解下nginx吗?
weixin_39557583的博客
12-19
293
--nginx全局变量、rewrite实战、nginx的location配置一、nginx全局变量nginx 主配置文件中的log_format,常用全局变量: https://github.com/aminglinux/nginx/blob/master/rewrite/variable.md变量说明$args请求中的参数,如www.123.com/1.php?a=1&b=2的$args...
Nginx的多重if判断
代码改变世界
05-16
5470
Nginx中不支持嵌套的if判断,所以使用变量的方式进验证,网上有很多关于这种的方式!
server {
listen 521;
server_name default_server;
set $notlogin 0;
# 拦截指定页面,~* 是不区分大小写,~ 区分大小写
if ($request_uri ~* "tyg.html"){
set $notlogin '...
nginx location匹配规则
zhangyunpengchang的专栏
03-30
314
location匹配命令
~ #波浪线表示执行一个正则匹配,区分大小写
~* #表示执行一个正则匹配,不区分大小写
^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
= #进行普通字符精确匹配
@ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_fi
nginx多条件if判断
u014655257的博客
05-20
1818
1、项目要求如果前端无登录且请求agent信息kube-probe不是探针探测的则返回403,多条件if写法如下:
server {
server_name nginx.msg;
listen 80;
access_log logs/host.access.log main;
set $flag "0";
...
nginx: if逻辑运算 (与或非) 实现
SummerGao
10-13
4326
今天我想限制服务器80端口只能...
Nginx多条件IF逻辑运算(与、或操作)不支持问题解决方法
我是海贼王
08-27
471
Nginx多条件IF逻辑运算(与、或操作)不支持问题解决方法
Nginx实现if多重判断配置方法示例
weixin_44400506的博客
03-05
746
这篇文章主要介绍了Nginx实现if多重判断配置方法示例,本文直接给出实现代码,需要的朋友可以参考下
nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法,我们可以用变量的方式来实现:百度收录批量查询
首先是伪代码(即不被nginx支持),写在这里只是为了方便理解:
复制代码 代码如下:
if ($remote_addr ~ “^(12.34|56.78)” &...
Nginx if 条件判断
weixin_34041003的博客
03-15
299
参考地址:https://www.cnblogs.com/saneri/p/6257188.html
Nginx if 条件判断:
1.公司网站上线有这样的需求:
由于公司网站域名从http到https的转移,在测试阶段需要公司内部进行测试,公司内部局域网访问时强制访问加密的https服务,外部用户访问正常的http服务.
第一种方法
if ( $http_x_forwarded_for ~ ^1...
nginx多条件判断
HRay's blog
03-20
2146
今天一个运维群里有人发了个需求
“在nginx怎么拒绝这样的连接
1 请求的目标是 / 请求的方法是 POST
2 $http_user_agent 是Mozilla/5.0”
我给出的方法如下:
set $flag 0;
if ($http_user_agent = Mozilla/5\.0\.) {
set $flag "${flag}1";
location =
nginx入门系列二
人非生而知之者,孰能无惑?
06-29
484
今天要分享的内容是还是nginx相关Nginx 重写规则指南既然你看到这里,我想,不用问,你也肯定知道,nginx是运维要玩的东西,开发不直接管,那么记住一句话:
不懂程序的运维,不是好运维;不懂运维的开发,不是 好开发。对于重写规则 说到底就是正则匹配,同时,如果想把 apache 转换成 nginx,重写规则也是要改的咯。
rewrite 模块介绍nginx 的重写模块是一个简单的正则表达式匹
nginx配置小记
隔壁小王的博客
12-23
431
nginx配置禁止ip访问时,我是这样配置的,把没匹配上域名的80端口请求都走这里。
server {
listen 80 default;
server_name _;
default_type text/html;
add_header Content-Type 'text/html;charset=utf-8';
return 200 '小朋友,请不要黑我,我谢您全家≧◉◡◉≦';
nginx if中实现&& 功能
天堂鸟(积累备忘)
10-10
283
set $flag 0;
if ($remote_addr != "172.16.1.9") {
set $flag "${flag}1";
if ($request_filename !~* "jpg") {
set $flag "${flag}2";
if ($flag = "012") {
rewrite ^/(.*)$ /config...
nginx 的if 判断,多条件如何处理
时光钟摆
11-20
1477
nginx 的配置文件中if 条件不支持&& 和 | ,所以要实现这个功能必须要换一个方式。
通过设置一个开关变量,提前赋值。
set $flag 0;
if ( $request_uri ~ 'yq-acs/acs' ) {
set $flag '1';
if ( $request_uri ~ 'yq-electric/electric' ) {
...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:编程工作室
设计师:CSDN官方博客
返回首页
LightZhang666
CSDN认证博客专家
CSDN认证企业博客
码龄12年
暂无认证
182
原创
7942
周排名
170万+
总排名
122万+
访问
等级
1万+
积分
6664
粉丝
357
获赞
81
评论
1554
收藏
私信
关注
热门文章
-bash: fork: Cannot allocate memory 问题的处理
68898
MySQL四舍五入函数ROUND(x)、ROUND(x,y)和TRUNCATE(x,y) 【转】
67212
nginx if多条件判断
48649
java调用http接口
35683
ECharts 的Base64图片后台解析
26501
分类专栏
kubernetes
30篇
ci/cd
30篇
devops
40篇
OpenSSL
1篇
yum
1篇
rpm
1篇
运维
6篇
yaml
1篇
ssh
1篇
VMware
3篇
自动化
13篇
ansible
13篇
tcpdump
1篇
disk
1篇
分布式
3篇
zookeeper
3篇
NFS
1篇
Rsync
1篇
Saltstack_使用指南
20篇
hexo 搭建个人博客
7篇
Linux CURL
3篇
linux
226篇
常用命令
92篇
网络
63篇
博客地址收藏
2篇
监控
6篇
脚本
6篇
常用软件
11篇
数据库
28篇
js
20篇
生产环境
1篇
shell
7篇
Python
1篇
常用js
3篇
autocomplete
3篇
dom4j
1篇
xml
2篇
Servlet
2篇
email
1篇
乱码
1篇
存储过程,存储函数
echarts
1篇
报表
1篇
MySQL
36篇
存储函数
2篇
存储过程
2篇
bash
java
26篇
spring
4篇
css
4篇
html
12篇
svn
虚拟机
9篇
SaltStack
20篇
软件安装
2篇
软件升级
1篇
软件配置
6篇
关注
Web服务器
6篇
DNS
1篇
SSL
4篇
docker
9篇
docker swarm
1篇
hexo
7篇
curl
3篇
最新评论
Linux curl 常用示例
国密二三事:
国密版curl可以支持国密https://blog.csdn.net/gmssl/article/details/125965806
Linux curl 命令详解
国密二三事:
国密版curl可以支持国密https://blog.csdn.net/gmssl/article/details/125965806
Linux tcpdump 命令详解与示例
ζ小菜鸡:
学到了,大佬干货满满,收藏,非常有用
nginx if多条件判断
六级不600直播吃香菜:
垃圾文章,NG if 就不允许 && || 这种写法
正确的方式参考这篇文章
https://blog.csdn.net/hrayha/article/details/64130104?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-64130104-blog-51701327.pc_relevant_downloadblacklistv1&spm=1001.2101.3001.4242.1&utm_relevant_index=3
Kubernetes K8S之kube-prometheus概述与部署
师子征程:
您好, 我按照你的步骤进行,到了kubectl top node这一步出现了Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)的问题,kubectl get pod -n monitoring -o wide查看,一直pending,这是什么情况呢?请问该怎样解决呢
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Kubernetes K8S之Helm部署EFK日志分析系统
Kubernetes K8S之kube-prometheus概述与部署
Kubernetes K8S之CPU和内存资源限制详解
2021年3篇
2020年56篇
2019年43篇
2018年11篇
2017年60篇
2016年92篇
2015年101篇
目录
目录
分类专栏
kubernetes
30篇
ci/cd
30篇
devops
40篇
OpenSSL
1篇
yum
1篇
rpm
1篇
运维
6篇
yaml
1篇
ssh
1篇
VMware
3篇
自动化
13篇
ansible
13篇
tcpdump
1篇
disk
1篇
分布式
3篇
zookeeper
3篇
NFS
1篇
Rsync
1篇
Saltstack_使用指南
20篇
hexo 搭建个人博客
7篇
Linux CURL
3篇
linux
226篇
常用命令
92篇
网络
63篇
博客地址收藏
2篇
监控
6篇
脚本
6篇
常用软件
11篇
数据库
28篇
js
20篇
生产环境
1篇
shell
7篇
Python
1篇
常用js
3篇
autocomplete
3篇
dom4j
1篇
xml
2篇
Servlet
2篇
email
1篇
乱码
1篇
存储过程,存储函数
echarts
1篇
报表
1篇
MySQL
36篇
存储函数
2篇
存储过程
2篇
bash
java
26篇
spring
4篇
css
4篇
html
12篇
svn
虚拟机
9篇
SaltStack
20篇
软件安装
2篇
软件升级
1篇
软件配置
6篇
关注
Web服务器
6篇
DNS
1篇
SSL
4篇
docker
9篇
docker swarm
1篇
hexo
7篇
curl
3篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值