Posso negar no nginx com base em URI e IP?

Posso negar no nginx com base em URI e IP?

Basicamente tenho um site wordpress (com loja de comércio eletrônico e login social). Neguei todo o acesso ao wp-login.php com base no endereço IP. O problema é que o login social usa este arquivo wp-login. Então eu me pergunto se é possível: - bloquear quase todas as consultas ao wp-login.php por endereço IP e permitir por IP apenas consultas específicas. Significado
wp-login.phppermitir 1 ip negar todos
wp-login.php?action=lostpasswordpermitir 1 ip negar todos
wp-login.php?action=rp&key=.*?&login=.*permitir 1 ip negar todos
.
.
wp-login.php?ywsl_social=google permitir todos os IPs
wp-login.php?ywsl_social=twitter permitir todos os IPs

Algo assim:

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;
        }

informação relacionada