Nginx多条件判断的实现

Nginx中无法使用&&  || 怎么才能实现多个条件满足的判断呢

如果请求的地址不是 www.xxx.cn 并且也不是 192.168.1.100 , 则返回403

使用定义临时的flag , 在满足1个修改一次flag的值, 在2个都满足的时候, flag就会变成11, 通过再对flag做判断, 则可以得到最后的boolean

    server {
        set $flag "";
        if ($host != 'www.xxx.cn') {
            set $flag "1";
        }
        if ($host != '192.168.1.100') {
            set $flag "${flag}1";
        }
        if ($flag = "11") {
            return 403;
        }
        
        listen       80;
        server_name  www.xxx.cn; 
            
        # http请求全部强制重写为 https 
        rewrite ^(.*)$ https://$server_name$1 permanent;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值