Dynadot 搬瓦工 腾讯云

如何添加 NGINX 配置,使 WordPress 网站 wp-login.php 返回 403 forbidden

Sider GigsGigsCloud

最近发现有个 WordPress 搭建的网站经常收到大量的 GET 请求,针对 wp-login.php,而且请求还是来自不同的 IP 地址,因此很难封禁。于是干脆直接把 wp-login.php 页面给 403 了,等自己需要登录的时候再改回来。本文分享一下在 NGINX 上面如何设置 wp-login.php 页面返回 403 forbidden 状态,方法非常简单。

在 NGINX 中屏蔽 wp-login.php 并让它直接返回 403 的方法很简单,只需在相应的站点配置中添加一个精确匹配(使用 location =)即可。下面给出一个示例配置:

server {
    listen 80;
    server_name example.com;

    # 其他站点配置...

    location = /wp-login.php {
        return 403;
    }

    # 其他 WordPress 必要规则...
}

然后保存配置并重载 NGINX:

sudo nginx -t
sudo systemctl reload nginx

这样当外部请求访问 wp-login.php 时,就会直接返回 403 Forbidden。若要做更精准的访问控制(例如只允许特定 IP 地址访问,而拒绝其他所有请求),可以将 return 403; 替换为基于 allow/deny 规则的配置,例如:

location = /wp-login.php {
    allow 203.0.113.45; # 允许指定 IP
    deny all;           # 拒绝其他所有
}

配置完成后同样执行 nginx -tsystemctl reload nginx,即可生效。

Dynadot Hostwinds
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何添加 NGINX 配置,使 WordPress 网站 wp-login.php 返回 403 forbidden
文章链接:https://oldtang.com/14107.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。