Nginx中IF、AND、OR语句用法实例

 更新时间:2015年02月07日 20:19:03   投稿:junjie  
这篇文章主要介绍了Nginx中IF、AND、OR语句用法实例,本文讲解的是Ningx中的逻辑判断语句用法,需要的朋友可以参考下

在上一篇文章:《Nginx if语句加正则表达式实现字符串截断》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法:
什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了.

NGINX支持if的 and 与 or 或者 && 与 || 吗?

答案是No.
当你尝试这样配置, 重载nginx时, nginx会报出错误

复制代码 代码如下:

    location = /test/ {
        default_type text/html;
        set $b 0;
        if ( $remote_addr != '' && $http_x_forwarded_for != '' ){
            set $b '1';
        }
        echo $b;
    }
[root@test-vm ~]# /usr/local/nginx/sbin/nginx -t

nginx: [emerg] invalid condition "$remote_addr" in /usr/local/nginx/conf/nginx.conf:60
configuration file /usr/local/nginx/conf/nginx.conf test failed


那么我们应该怎样来实现and 和or的逻辑关系呢?
复制代码 代码如下:

    location = /test_and/ {
        default_type text/html;
        set $a 0;
        set $b 0;
        if ( $remote_addr != '' ){
            set $a 1;
        }
        if ( $http_x_forwarded_for != '' ){
            set $a 1$a;
        }
        if ( $a = 11 ){
            set $b 1;
        }
        echo $b;
    }
    location = /test_or/ {
        default_type text/html;
        set $a 0;
        set $b 0;
        if ( $remote_addr != '' ){
            set $a 1;
        }
        if ( $http_x_forwarded_for != '' ){
            set $a 1;
        }
        if ( $a = 1 ){
            set $b 1;
        }
        echo $b;
    }

相关文章

  • nginx 伪静态化rewrite规则

    nginx 伪静态化rewrite规则

    用Nginx的朋友可以参考,加到nginx.conf相应主机server段配置中即可!
    2009-10-10
  • Nginx 如何限制访问频率,下载速率和并发连接数的方法

    Nginx 如何限制访问频率,下载速率和并发连接数的方法

    这篇文章主要介绍了Nginx 如何限制访问频率,下载速率和并发连接数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Nginx配置之location的匹配优先级浅析

    Nginx配置之location的匹配优先级浅析

    这篇文章主要给大家介绍了关于Nginx配置之location的匹配优先级的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Nginx 域名SSL证书配置(网站 http 升级为 https)

    Nginx 域名SSL证书配置(网站 http 升级为 https)

    这篇文章主要介绍了Nginx 域名SSL证书配置(网站 http 升级为 https),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Nginx优化配置和内核优化 实现突破十万并发

    Nginx优化配置和内核优化 实现突破十万并发

    Nginx是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文介绍一些Nginx优化代码参数等
    2013-06-06
  • 详解Nginx启动失败的几种错误处理

    详解Nginx启动失败的几种错误处理

    这篇文章主要介绍了详解Nginx启动失败的几种错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 深入浅析nginx部署及简单优化

    深入浅析nginx部署及简单优化

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。本文重点给大家介绍nginx部署及简单优化方案,感兴趣的朋友一起看看吧
    2018-08-08
  • 权限问题导致Nginx 403 Forbidden错误的解决方法

    权限问题导致Nginx 403 Forbidden错误的解决方法

    这篇文章主要介绍了权限问题导致Nginx 403 Forbidden错误的解决方法,本文中导致 403 Forbidden错误的原因是配置文件中没有指明一个用户,需要的朋友可以参考下
    2014-08-08
  • Nginx中共享session会话配置方法例子

    Nginx中共享session会话配置方法例子

    这篇文章主要介绍了Nginx中共享session会话配置方法例子,最后使用第三方模块upstream_hash解决了这个问题,需要的朋友可以参考下
    2014-07-07
  • 对nginx-naxsi白名单规则详解

    对nginx-naxsi白名单规则详解

    今天小编就为大家分享一篇对nginx-naxsi白名单规则详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论