Можно ли запретить доступ в nginx на основе URI и IP?

Можно ли запретить доступ в nginx на основе URI и IP?

В общем, у меня есть сайт на WordPress (с интернет-магазином и входом через социальную сеть). Я запретил любой доступ к wp-login.php на основе IP-адреса. Проблема в том, что вход через социальную сеть использует этот файл wp-login. Поэтому мне интересно, возможно ли: - заблокировать почти все запросы к wp-login.php по IP-адресу и разрешить по IP только определенные запросы. Значение
wp-login.phpразрешить 1 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;
        }

Связанный контент