情景
一直提示过多的错误登录,即使是自己没有输错过密码,即使是过了限制时间再次登录也会被重置限制时间等等,反正就是一直提示尝试次数过多而被限制。

原因
由于安装了 Limit Login Attempts Reloaded
插件,该插件会限制同一个ip错误登录的次数,但是又由于开启了nginx的反向代理(并且还是多层代理),导致不管是谁登录后台,都会被认为是同一个ip(nginx服务器的ip)登录的。所以若别人尝试登录达到限制,其他客户端的任何登录都会被限制。
临时解决
进入wordpress后台服务器,删除该插件的目录
root@a5665d258313:/var/www/html/wp-content/plugins# pwd
/var/www/html/wp-content/plugins
root@a5665d258313:/var/www/html/wp-content/plugins# ls
xxx xxx xxxx limit-login-attempts-reloaded xxx xxx xxx
root@a5665d258313:/var/www/html/wp-content/plugins# rm -rf limit-login-attempts-reloaded
永久解决
这种反向代理的场景很常见,那该插件肯定也是有解决的。
配置nginx
在代理的请求头中加上真实IP的信息

插件设置
进入该插件的设置页面最下面就有,在 Trusted IP Origins
的头部加上 HTTP_X_REAL_IP

为什么默认的 REMOTE_ADDR 获取不到真实IP
因为我使用了多层代理,导致其在nginx内部进行了多次重定向,remote_addr 记录的是最后一次跳转的客户端的地址,即仍然是nginx的ip
这里好像理解的不对,我找找资料先