ngx_http_access_module
ngx_http_access_module 모듈을 사용하면 특정 클라이언트 주소로 액세스를 제한할 수 있습니다.
액세스는 비밀번호, 하위 요청의 결과, JWT로 제한할 수 있습니다. 주소와 비밀번호를 사용한 액세스 동시 제한은 satisfy 명령으로 제어합니다.
예제 구성
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
규칙은 첫 매치를 발견할 때까지 순차적으로 검사합니다. 이 예시에서는 IPv4 네트워크의 경우 192.168.1.1를 제외한 10.1.1.0/16과 192.168.1.0/24에 대해서만 액세스가 허용되고, IPv6 네트워크의 경우 2001:0db8::/32만 허용합니다. 규칙이 많은 경우에는 ngx_http_geo_module 모듈 변수를 사용하는 것이 좋습니다.
Directives
Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
지정된 네트워크 또는 주소에 대해 액세스를 허용합니다. 특수 값 unix:를 지정하는 경우(1.5.1), 모든 UNIX 도메인 소켓에 대해 액세스를 허용합니다.
Syntax: deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
지정된 네트워크나 주소에 대한 액세스를 거부합니다. 특수 값 unix:를 지정하는 경우(1.5.1), 모든 UNIX 도메인 소켓에 대한 액세스를 거부합니다.