Nginx获取Cloudflare传递的真实访客IP
最近网站浏览量增大,服务器问题频出,在查看日志的时候发现用户访问 ip 都是 cf 的泛播 ip,于是通过修改 Nginx 的配置文件将 cf 发送给我们的标头显示出来,在此记录一下。
在此警示各位网络并非法外之地,一举一行都有据可查,请文明上网。
下图是我修改 Nginx 配置文件之前 log 日志记录的 ip,这都是 cf 的泛播 ip。
修改 Nginx 配置文件:
宝塔的 nginx 配置文件存放位置与一般 nginx 不一样。
宝塔存放 nginx 配置文件位置:/www/server/nginx/conf/nginx.conf
一般 nginx 的配置文件位置:/usr/local/nginx/conf/nginx.conf
打开 Nginx 之后在
http
{
}
部分添加如下代码:
1 | map $HTTP_CF_CONNECTING_IP $clientRealIp { |
添加完如下图所示:
保存并退出。
之后打开网站设置,在配置文件最底下 log 后面加入 main(注意前面有空格),点击保存。
之后返回日志就可以查看到真实访问者 ip 了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ialtone的小站!
评论