
Lendo nginxngx_http_access_moduleda documentação, me deparei com isso:
No caso de muitas regras, o uso dongx_http_geo_modulevariáveis de módulo são preferíveis.
Como posso usar permitir/negar com o módulo geográfico? Se eu fizer isso:
geo $listofips {
default 0;
8.8.8.8 1;
}
server {
# [...]
allow $listofips;
deny all;
}
Isso me dá o seguinte erro:
parâmetro inválido "$listofips" em /path/to/config:97
Como posso usar o módulo geo para controle de acesso? Não posso usar ifs, porque evidentemente quebra try_files
(veja IfIsEvil do nginx).
Responder1
Sem o uso de IF, tenho certeza de que isso não seria possível no momento em que esta resposta foi escrita.
Então neste caso ficaria assim:
geo $trusted_user {
default 0;
8.8.8.8 1;
}
server
{
if ( $trusted_user = 0 ) {
return 403;
}
}
Envie uma sugestão para a equipe NGINX em: https://www.nginx.com/
Esta pergunta foi respondida com base nesta resposta:NGINX - permitir ou negar IP condicionalmente
Fonte de pesquisa"# try_files não funcionará devido a if"em"Exemplos": https://www.nginx.com/resources/wiki/start/topics/profundidade/ifisevil/#examples