nginx로 IP 화이트리스트를 만드는 가장 좋은 방법

nginx로 IP 화이트리스트를 만드는 가장 좋은 방법

특정 IP에만 업데이트 서버에 대한 액세스 권한을 부여하고 사용하려고 합니다.이 nginx 구성지금까지:

allow 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2;
allow 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6;
...
deny all;

하지만 nginx의 허용 규칙 제한은 약 250개인 것 같습니다.

이 제한을 어떻게 늘려서 여기에서 더 큰 화이트리스트를 구성할 수 있습니까? 아니면 이 목표를 달성하는 더 좋은 방법이 있습니까?

답변1

a를 사용하면 map동일한 효과를 얻을 수 있습니다. 예를 들어:

map $remote_addr $deny {
    default 1;
    2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 0;
    2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 0;
}
server {
    ...
    if ($deny) { return 403; }
    ...
}

보다이 문서자세한 내용과이 주의의 사용 중 if.

답변2

이는 글로벌 서버 액세스를 기반으로 한 화이트리스트이므로 iptables를 사용하는 것이 더 나은 서비스를 제공할 수 있습니다.

ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:f6f2:6dff:fe49:e4a2 --dport 80 -j ACCEPT
ip6tables -A INPUT -m tcp -p tcp -s 2a03:2267:4e6f:7264:a2f3:c1ff:fe7a:4bc6 --dport 80 -j ACCEPT
ip6tables -A INPUT -m tcp -p tcp --dport 80 -j REJECT

활성화된 경우 IPv4도 차단해야 합니다.

iptables -A INPUT -m tcp -p tcp --dport 80 -j REJECT

관련 정보