URI と IP に基づいて nginx で拒否できますか?

URI と IP に基づいて nginx で拒否できますか?

基本的に、私は WordPress サイト (e コマース ストアとソーシャル ログイン付き) を持っています。IP アドレスに基づいて wp-login.php へのすべてのアクセスを拒否しました。問題は、ソーシャル ログインがこの wp-login ファイルを使用することです。そこで、次のことが可能かどうか疑問に思っています。 - IP アドレスによって wp-login.php へのほぼすべてのクエリをブロックし、IP によって特定のクエリのみを許可する。つまり、
wp-login.php1 つの IP を許可してすべてを拒否する
wp-login.php?action=lostpassword1 つの IP を許可してすべてを拒否する 1 つの IP を許可して
wp-login.php?action=rp&key=.*?&login=.*すべてを拒否する
.
.
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;
        }

関連情報