cdn查看真实ip(查看cdn是否正常)

经常搭建网站服务器的都知道,在给站点使用了 CDN 后 Web 应用的日志记录里就会只记录 CDN 节点 IP 了,这就没法看到真实客户请求 IP,对于日志分析、运维日常维护来说就有点儿麻烦了,今天站长在国内服务器上搭建的Apache环境给大家分享一下让日志记录客户真实IP

cdn查看真实ip(查看cdn是否正常)

有关 Nginx 相关的大家可以参考往期文章【如何使用Nginx获取客户端真实IP地址】一文,Apache下还是跟 Nginx 小有区别的。因为从 Apache 2.4 版开始自带了mod_remoteip 模块,就算你用的是宝塔面板,默认安装也都是 2.4.X 版本了,所以本文几乎不限制你的生产环境。

cdn查看真实ip(查看cdn是否正常)

宝塔面板默认安装 Apache 的版本截图

我们要做的就是确认当前的 Apache 是否已经启用了mod_remoteip 模块,一般只需要查看 Apache 默认主配置文件http.conf 里是否有如下这个模块的加载语句即可:

LoadModule remoteip_module modules/mod_remoteip.so

宝塔面板里 Apache 的主配置文件位置在/www/server/apache/conf/http.conf ,大家直接在文件里找到这个文件双击编辑查看就是了。如果已经载入这个模块就进行下一步,否则就要修改为加载这个模块(去掉注释),然后重启一下 Apache 即可。

然后,我们还要在 Apache 扩展配置目录(/www/server/apache/conf/extra/ )里修改mod_remoteip.conf 文件内容使用 RemoteIPProxiesHeader  从指定字段获取信任 CDN IP(一般 CDN 都会支持的),这样不用设置指定代理 IP(CDN 节点 IP),如下:

RemoteIPHeader X-Forwarded-ForRemoteIPProxiesHeader X-Forwarded-By

最后再在http.conf 文件结尾引用这个mod_remoteip.conf 文件,如下:

Include /www/server/apache/conf/extra/mod_remoteip.conf

再继续修改http.conf 文件里记录日志格式,使之记录访客 IP,搜索下面两行内容:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common

将里面的 %h  改为 %a (完整格式选项可查看此文档),修改后的内容如下:

LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%a %l %u %t \"%r\" %>s %b" common
保存退出,重启 Apache 后,再去看网站日志是不是访客真实 IP 就有了,不再是 CDN 的节点 IP 了
最后再提醒大家开启网站日志是个很好的运维习惯,一旦出现任何问题都可以借助日志找到根源和解决应对办法的,关闭日志记录就算是运维高手也没办法给你快速解决问题,基本都是盲猜了!放心,开启日志占用不了多少存储空间的,再说还可以定时自动的切割日志呢!
版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。

给TA打赏
共{{data.count}}人
人已打赏
网站技巧

宝塔面板部署网站(宝塔怎么监控网站)

2025-2-24 21:20:39

网站技巧

如何使用nginx获取客户端真实ip地址信息(nginx 获取真实ip)

2025-2-24 21:20:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索