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;
}