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支持shtml格式的配置方法

    让Nginx支持shtml格式的配置方法

    这篇文章主要介绍了让Nginx支持shtml格式的配置方法,shtml格式可以包含一些服务端指令,同PHP中的include功能类似,需要的朋友可以参考下
    2014-08-08
  • 使用Nginx代理上网的方法

    使用Nginx代理上网的方法

    这篇文章主要介绍了使用Nginx代理上网的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 详解Nginx启用proxy_buffer缓冲

    详解Nginx启用proxy_buffer缓冲

    本篇文章主要介绍了Nginx启用proxy_buffer缓冲,Nginx启用proxy_buffer缓冲,本文详细的介绍了基本用法,具有一定的参考价值,有兴趣的可以了解一下
    2018-01-01
  • Nginx配置防盗链的完整步骤

    Nginx配置防盗链的完整步骤

    这篇文章主要给大家介绍了关于Nginx配置防盗链的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Nginx中全局变量整理小结

    Nginx中全局变量整理小结

    对于Nginx下全局变量整理,方便使用Nginx的朋友调用全局变量。
    2010-08-08
  • 配置nginx保证frps服务器与web共用80端口的方法

    配置nginx保证frps服务器与web共用80端口的方法

    这篇文章主要介绍了frps服务端与nginx可共用80端口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 如何配置Nginx每个进程最多打开的文件数量

    如何配置Nginx每个进程最多打开的文件数量

    这篇文章主要介绍了配置Nginx每个进程最多打开的文件数量,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Nginx+Keepalived实现双机主备的方法

    Nginx+Keepalived实现双机主备的方法

    这篇文章主要介绍了Nginx+Keepalived实现双机主备的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Nginx与Lua灰度发布的实现

    Nginx与Lua灰度发布的实现

    这篇文章主要介绍了Nginx与Lua灰度发布的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 通过Nginx搭建Tomcat9集群并实现Session共享

    通过Nginx搭建Tomcat9集群并实现Session共享

    这篇文章主要介绍了通过Nginx搭建Tomcat9集群并实现Session共享,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论