我可以在基于URI和IP的nginx中否认吗?

基本上我有一个WordPress的网站(电子商务商店和社交login)。 我拒绝所有访问基于IP地址的wp-login.php。 问题是社交login使用这个wp-login文件。 所以我想知道是否有可能: – 通过ip地址阻止几乎所有的查询wp-login.php,并允许通过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; }