nginx:使用带有允许/拒绝指令的地理模块

阅读nginx的ngx_http_access_module的文档,我碰到这个:

在很多规则的情况下,使用ngx_http_geo_module模块variables是可取的。

我怎样才能使用地理模块的允许/拒绝? 如果我这样做:

geo $listofips { default 0; 8.8.8.8 1; } server { # [...] allow $listofips; deny all; } 

它给了我以下错误:

无效参数“$ listofips”在/path/到/configuration:97

如何使用地理模块进行访问控制? 我不能使用ifs,因为它显然会中断try_files (请参阅nginx的IfIsEvil)。

在没有使用IF的情况下,我确信在写这个答案的时候这是不可能的。

所以在这种情况下,看起来像这样:

 geo $trusted_user { default 0; 8.8.8.8 1; } server { if ( $trusted_user = 0 ) { return 403; } } 

向NGINX团队发送build议: https ://www.nginx.com/

这个问题是基于这个回答回答的: NGINX – 有条件地允许或拒绝知识产权

search源“#try_files不会工作,因为如果”“示例” : https : //www.nginx.com/resources/wiki/start/topics/depth/ifisevil/#examples