nginx map 指令不适用于子网掩码

nginx map 指令不适用于子网掩码

使用时,在 nginx 中匹配子网是否需要特殊的东西map?我在块中有以下配置http {}。客户端 IP 是 10.0.3.1。如果我删除该10.0.3.1条目,它总是返回拒绝,而不是匹配 10.0.3.0/24 子网。我是否缺少所需的 nginx 模块或类似的东西?

我根据一些博客文章制定了这个配置,但找不到任何官方文档来说明支持这种符号。

map $remote_addr $allowed {
     10.0.3.1 allow;
     10.0.2.0/24 allow;
     10.0.3.0/24 allow;
     default deny;
}

答案1

map指令映射字符串,因此可以将其表示10.0.3.0/24为正则表达式并继续使用该map指令。但您是否考虑过geo支持 IP 地址语法的指令?

geo $allowed {
 10.0.3.1 allow;
 10.0.2.0/24 allow;
 10.0.3.0/24 allow;
 default deny;
}

这个文件了解详情。

相关内容