使用时,在 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;
}
看这个文件了解详情。