Nginx 使用 CDN 之后获取真实访客 IP 的方法

2020 年 3 月 17 日 1755 点热度 0 人点赞 0 条评论

网站使用 CDN 之后 WordPress 后台评论列表显示的 IP 全部都是 CDN 节点,这里有一个简单的方法让它和 WEB 日志都显示真实 IP 。

一般 CDN 服务器都会提供各种回源的 header ,其中就有访客 IP 相关的。云盾是 X-Real-IP ,阿里是 Ali-CDN-Real-IP,百度云加速和 CouldFlare 则是 CF-Connecting-IP ,还有国际通用的 X-Forwarded-For(不推荐) 。

因此我们只需要在站点配置文件加入下面 2 行代码即可让 Nginx 日志和 PHP 的 REMOTE_ADDR 显示访客 IP 。

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Real-IP;

上面的 X-Real-IP 请自行更换为 CDN 相应的 header ,可以发工单咨询。为什么不推荐使用 X-Forwarded-For ?百度一下就知道了。

耗子

练习时长 4 年半的个人程序员 喜欢 PHP 、 Go 、 Vue 和 Python Music~

文章评论

Loading...