我可以根据 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 拒绝所有 ...
允许 所有 IP 允许所有 IP 类似这样的内容:

wp-login.php?ywsl_social=google
wp-login.php?ywsl_social=twitter

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

相关内容