WordPress遭受暴力破解wp‑admin

WordPress站点后台被反复尝试登录、wp-admin路径被大量请求,是暴力破解的典型信号。
与其靠插件做复杂拦截,不如直接在Nginx层面把后台目录限制成只允许你的固定IP访问,这样非白名单IP连后台入口都打不开,攻击根本到不了登录页面。
本文按零基础可执行的方式,讲清楚配置前要准备什么、不同环境下怎么改、改完怎么验证,以及容易踩的坑。

配置前需要确认的三件事

动手之前先确认清楚,避免改完把自己锁在外面。

  1. 你的公网出口IP:打开浏览器搜索“IP”就能看到。如果家里或办公室是动态IP,建议先向宽带运营商确认或配置DDNsin,否则IP一变就进不了后台。
  2. Nginx配置目录结构:常见的有宝塔面板的 /www/server/panel/vhost/nginx/,LNMP一键包通常在 /usr/local/nginx/conf/vhost/,源码编译安装则要看编译时的 --prefix 参数。
  3. WordPress站点对应的server配置块:一般以网站域名命名,比如 example.com.conf。如果找不到,用 nginx -T 可以列出所有加载的配置。

确认这些后,再继续操作。

两种环境下的Nginx白名单配置方法

无论哪种环境,核心思路都一样:在 server { } 块中加一段 location,只允许白名单IP访问 /wp-admin

方法一:手动修改Nginx配置(通用)

先备份原配置,然后编辑站点配置文件,在 server { } 内部写入:

location ~ ^/wp-admin {
    allow 你的公网IP;
    deny all;
}

如果你的WordPress安装在子目录,比如 /blog,则要写成:

location ~ ^/blog/wp-admin {
    allow 你的公网IP;
    deny all;
}

保存后先测试配置:

nginx -t

看到 syntax is ok 后再重载:

systemctl reload nginx

如果你用的是旧版 service nginx reload 也一样。

方法二:宝塔面板图形界面操作

宝塔用户不用直接改文件,在后台找到站点 → 设置 → 配置文件,把上面的 location 片段粘贴到 server 块内,然后保存。
宝塔保存时通常会自动执行 nginx -t,失败会提示原因。

注意:如果你同时开了Nginx防火墙插件,建议先关闭或调整规则,避免两套白名单互相冲突。

配置生效前必须检查的四个细节

改配置很容易,但往往就栽在细节上。

  • 确认地址是 /wp-admin 而不是 /wp-login.php:WordPress实际登录入口是 wp-login.php,但后台界面和跳转都会用到 /wp-admin 路径。只限制 wp-login.php 不够,因为攻击者可以绕到 wp-admin 下的文件。上面用正则匹配 ^/wp-admin 覆盖整个目录,更稳妥。
  • IP地址格式:IPv4直接写,IPv6要用方括号,例如 allow 240e:390:xxxx::1;
  • 如果站点用了CDN:你看到的IP可能是CDN节点,而不是用户真实IP。此时必须确保Nginx能取到 X-Forwarded-For 中的真实IP,否则白名单会失效或误杀。建议在CDN和Nginx配置中单独处理,不要只依赖这个片段。
  • 不要漏掉后台静态资源/wp-admin 目录下还有CSS、JS文件,限制后正常用户加载后台页面时也会请求这些资源。只要你的IP在白名单里,这些请求同样放行,所以不用担心。

如何验证限制是否真的生效

配置重载后,需要从两个角度验证。

在白名单IP的机器上测试:访问 https://你的域名/wp-admin,应该能正常跳转或显示登录页面。
也可以在服务器上用 curl 模拟:

curl -I https://你的域名/wp-admin

如果看到 200302,说明后台可以正常访问。

在非白名单IP上测试:用手机流量或代理访问同一个地址,应该返回 403 Forbidden
curl 再试一次(加上自己的IP不是白名单时):

curl -I -H "X-Forwarded-For: 1.2.3.4" https://你的域名/wp-admin

看到 403 就说明限制成功了。

常见坑与处理方法

动态IP导致自己进不去:这是最常遇到的问题。
可以设置多个备用IP白名单,或者保留一条管理入口,比如只限制登录接口而放行 wp-admin/admin-ajax.php,给插件请求留出口。

忘记放行服务器本地IP:如果你需要从服务器本机访问后台,比如用 localhost/wp-admin 调试,记得在 allow 中加入 127.0.0.1

重启Nginx后配置丢失:检查你是否编辑了正确的配置文件。
宝塔面板如果修改后误点“默认备份”可能会覆盖,建议修改后保留原文件副本。

担心误杀正常用户:如果你不确定自己的公网IP是否固定,可以先用手机流量确认IP,再改成白名单。
如果团队多人需要管理后台,可以逐个添加IP,用空格隔开。

配置完成后,WordPress后台入口就已经被Nginx保护起来,非白名单IP连登录页面都打不开,暴力破解自然无从谈起。
后续如果IP变化或新增管理员,记得及时更新白名单。

如果你正在处理类似问题,建议先按本文步骤完整执行,再根据自己的环境微调。
遇到异常时,优先回看避坑部分,尤其是CDN和IPv6这两项,绝大多数“改完还是能访问”或“自己进不去”的问题都出在这里。

分享到:
上一篇
IDC业务告警体系:宿主机宕机、IP失效、带宽跑满
下一篇
独立站Nginx防盗链,防止图片、静态资源被盗刷流量
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意