nginx: 허용/거부 지시문과 함께 geo 모듈 사용

nginx: 허용/거부 지시문과 함께 geo 모듈 사용

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

관련 정보