
nginx 읽기ngx_http_access_module님의 문서에서 다음과 같은 내용을 발견했습니다.
규칙이 많은 경우에는ngx_http_geo_module모듈 변수가 바람직합니다.
geo 모듈에서 허용/거부를 어떻게 사용할 수 있나요? 내가 이렇게 하면:
geo $listofips {
default 0;
8.8.8.8 1;
}
server {
# [...]
allow $listofips;
deny all;
}
그것은 나에게 다음과 같은 오류를 제공합니다 :
/path/to/config:97의 잘못된 매개변수 "$listofips"
액세스 제어를 위해 geo 모듈을 어떻게 사용할 수 있나요? ifs는 확실히 깨졌기 때문에 사용할 수 없습니다 try_files
(nginx의 IfIsEvil 참조).
답변1
IF를 사용하지 않으면 이 답변이 작성된 당시에는 이것이 불가능하다고 확신합니다.
따라서 이 경우 다음과 같습니다.
geo $trusted_user {
default 0;
8.8.8.8 1;
}
server
{
if ( $trusted_user = 0 ) {
return 403;
}
}
다음에서 NGINX 팀에 제안을 보내세요. https://www.nginx.com/
이 질문은 다음 응답을 바탕으로 답변되었습니다.NGINX - 조건부로 IP를 허용하거나 거부합니다.
소스 검색"# try_files는 if로 인해 작동하지 않습니다."~에"예": https://www.nginx.com/resources/wiki/start/topics/깊이/ifisevil/#examples