惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
The Cloudflare Blog
IT之家
IT之家
V
V2EX
雷峰网
雷峰网
MyScale Blog
MyScale Blog
P
Proofpoint News Feed
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
小众软件
小众软件
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
A
About on SuperTechFans
B
Blog
月光博客
月光博客
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI

小宜技术猫

幻兽帕鲁参数修改网页源代码 Windows高效图片压缩工具:90%以上压缩比的图片压缩小工具 Windows优选DNS工具:解决网页打不开和远程操作问题 积极维护防汛救灾网络秩序倡议书 萌新源API接口免费开源管理程序源码 彩虹云和小储云公告数据查询网PHP源代码 Typecho显示IP归属地插件 腾讯视频VIP解析源码接口PHP源代码 IP签名档PHP开源版:轻松打造网站个性签名档
解决Nginx和CDN嵌套上的请求日志记录问题
小宜技术猫 · 2023-05-13 · via 小宜技术猫

  如果你使用了 Nginx 服务器并且将CDN嵌套到上游中,有时候你会遇到一个问题:请求日志中记录的都是CDN IP而不是实际请求IP。这可能会导致一些不便,如难以管理网站或规避一些恶意风险。

解决Nginx和CDN嵌套上的请求日志记录问题  Nginx真实ip 请求日志记录 第1张

  但是这个问题的解决并不复杂,只需在Nginx的HTTP段添加如下配置:

set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;

对于一些朋友来说,这可能比较困难,以下是一些额外的提示: 

  1.set_real_ip_from用于指定上游代理转发服务器的IP地址或IP段,可以理解为一个白名单,所有这些IP的请求都应该做真实IP获取处理。在这个教程中,设置的0.0.0.0/0表示所有请求IP。 

  2.real_ip_header用于指定从哪个请求头中获取真实IP,通常上游CDN会发送HTTP_X_FORWARDED_FOR请求头,其中包含来路的IP串,如"127.0.0.1,127.0.0.2,127.0.0.3"。通常情况下,获取第一个不为空的IP就是真实IP。 

 3.此教程以宝塔为例,宝塔环境下安装的Nginx自带ngx_http_realip_module支持获取真实IP的模块。如果是默认编译安装的Nginx,可能不存在此模块,需要自行安装并启用才能使配置生效。安装模块的方法不在本文赘述。