首页 > 生活服务 > 读书学习

读书学习

使用CDN后Nginx源站如何获取用户真实IP

管理员 2年前 1507浏览
使用CDN后Nginx源站如何获取用户真实IP-下一朵云

Nginx默认日志格式中 $remote_addr 打印出来的就是用户的IP地址,但在使用CDN后,打印出来的IP地址就变成了CDN回源节点的IP地址,因为 remote_addr 只能获取最近一跳的IP地址。

解决办法:

编辑nginx.conf文件,确认一下配置:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';

这样 $http_x_forwarded_for 就可以获取到用户的真实IP,如上配置,这样用户的真实IP会显示在一条日志的最后边,审计起来不是很方便,可以稍作修改,把真实IP显示在每条日志的最前边,修改如下:

log_format  main  '"$http_x_forwarded_for" -*  $remote_addr - $remote_user [$time_local] "$request" '                        '$status $body_bytes_sent "$http_referer" '                        '"$http_user_agent"';

在vhost配置文件中,添加以下内容,让日志记录是调用格式main

 access_log  /var/log/nginx/test.log  main

配置好以上内容后,每条日志 -* 前边就会显示用户的真实IP,如下图1

使用CDN后Nginx源站如何获取用户真实IP-下一朵云
图1 日志显示真实IP



版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
关注微信公众号:"cq_xifan";

评论

收藏

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

Powered By 重庆饭哥 © 2014-2022 教学资源分享站 渝ICP备20005643号-1

相信有一天,理想主义终将所向披靡.

Design by © 2021 XIFAN. Powered by 重庆饭哥

站点声明: 本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

友情链接: 官方网站 饭哥在线工具 饭哥导航 在线运行 博客交流社区 重庆艺术工程职业学院