nginx配置文件if嵌套与if and or的变相实现

由于nginx配置不支持嵌套if的写法,也不支持and or 这些写法,通过变相方式实现。
以下场景是,域名绑定了泛域名,要求如果域名是
*.city.domain.com 就禁止post ,如果不是就全部允许

set $refuse_post 0;
if ( $host ~* (.*)\.city\.(.*) )
{
        set $refuse_post "${refuse_post}1";
}

if ( $request_method = POST ) {
        set $refuse_post "${refuse_post}2";
}

if ( $refuse_post = "012"  ) {
        return 404;
}

标签: 正则表达式

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论