URI 및 IP 기반 nginx에서 거부할 수 있나요?

URI 및 IP 기반 nginx에서 거부할 수 있나요?

기본적으로 나는 WordPress 사이트(전자상거래 상점과 소셜 로그인 포함)를 가지고 있습니다. IP 주소를 기반으로 wp-login.php에 대한 모든 액세스를 거부했습니다. 문제는 소셜 로그인이 이 wp-login 파일을 사용한다는 것입니다. 그래서 다음이 가능한지 궁금합니다. - IP 주소로 wp-login.php에 대한 거의 모든 쿼리를 차단하고 IP로 특정 쿼리만 허용합니다. 의미는
wp-login.php1개의 IP 거부 모두
wp-login.php?action=lostpassword허용 1개의 IP 거부 모두
wp-login.php?action=rp&key=.*?&login=.*허용 1개의 IP 거부 모두 허용을 의미합니다
.
.
wp-login.php?ywsl_social=google 모든 IP 허용
wp-login.php?ywsl_social=twitter 모든 IP 허용

다음과 같습니다.

location = /wp-login.php {
    if ($query_string = "ywsl_social=google|ywsl_social=twitter") 
        {
            allow all;
            fastcgi_pass   unix:/var/sockets/sock.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_param HTTPS on;
    }
    else {
            allow 1.1.1.1;
            deny all;
            fastcgi_pass   unix:/var/sockets/sock.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_param HTTPS on;
        }

관련 정보