搜索

当前位置:首页 > 全栈分享 > 服务器 > 正文

nginx日志如何获取访客真实ip

发布时间:2018-06-24 00:02:31作者:魏义齐阅读:()

本文为博主原创文章,未经博主允许不得转载。

我网站使用了百度云加速,因为服务器里有多个站点,所以部署ssl证书时安装了nginx+iis反向代理环境,如此特殊性用一般方法获取访客真实ip是不行的。

像我这种情况,iis日志是无法获取访客真实ip的,要想获取访客真实ip只能在nginx上操作,方法如下:

找到nginx主配置文件nginx.conf,参考路径:D:/nginx/conf/nginx.conf,调整日志记录格式,主要用到的参数是$http_x_forwarded_for。

编辑器打开nginx.conf在第33行末尾回车,粘贴如下代码:
  1. log_format main '$host $http_x_forwarded_for $remote_addr - $remote_user [$time_local] ' 
  2. '"$request" $status $body_bytes_sent "$http_referer" ' 
  3. '"$http_user_agent"' ; 
  4. access_log logs/access.log  main; 
如图所示:

完事查看日志文件,参考路径:D:/nginx/logs/access.log。

说明:

1.如果安装了nginx+iis反向代理环境,nginx日志获取的都是百度云加速节点的ip,如需获取真实ip,请按上面的方法操作。

2.nginx日志文件只有一个,数据实时更新,不会自动删除。

3.如果你仅使用了cdn,而没有安装nginx+iis反向代理环境,请参考教程:http://bbs.qcloud.com/thread-8212-1-1.html。

4.iis日志默认使用格林威治时间,比北京时间慢八个小时,查看数据时请注意时间+8。

5.如果日志文件里的ip都是127.0.0.1,那就是没有获取访客真实ip,就要根据自己的具体情况采取上面的相应措施获取真实ip了。

魏义齐全栈技术交流:魏义齐web前端技术交流

打赏本站

原创不易,您的打赏就是博主更新的动力!

上一篇:webm视频不能播放的原因 下一篇:301跳转规则的复杂写法及详细解读

相关阅读