前段时间我们网站接入了CloudFlare CDN以提升网站安全和性能。然而最近两天发现访问网站的所有访问者的访问IP都变成了CloudFlare CDN的节点IP,这还了得,于是立马着手解决WordPress网站套CloudFlare的CDN后利用Nginx获取用户真实IP,如果您使用的是宝塔面板来管理您的服务器,则您的站点很可能使用 CloudFlare、Sucuri、Nginx 等代理域服务。
它们会用CDN的 IP 地址替换您用户的 IP 地址。如果站点运行的服务器配置不正确,这种情况经常发生,所有用户都将获得相同的 IP 地址。这也适用于机器人和黑客。因此,锁定一个用户将导致其他所有人都被锁定。可以在Nginx设置中添加2行代码来获得用户的真实访问IP,通过代码识别IP来源并正确处理它们。
代码如下:
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
如何放置代码?
如果我们使用的是宝塔Nginx版本,那么可以在“软件管理”>“运行环境”>“Nginx”打开配置文件在http{ }后加入上述代码即可解决。如下图:
保存完毕后,点击重载配置即可生效。
这样设置之后,即可获取用户真实的访问IP。
版权声明:本文内容由来自互联网,该文观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系我们举报,一经查实,本站将立刻删除。