如何解决Nginx嵌套CDN请求时的日志记录问题

如何解决Nginx嵌套CDN请求时的日志记录问题


Warning: usort() expects parameter 2 to be a valid callback, function 'tag_sort' not found or invalid function name in /www/wwwroot/www.blogyc.cn/wp-content/themes/zbfox/core/functions/zbfox-hook.php on line 1668

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

下面我将分享如何使用Nginx来解决CDN嵌套请求的IP记录问题。
首先,需要在Nginx服务器上添加以下配置:

对于一些朋友来说,可能需要一些额外的提示才能解决Nginx嵌套CDN请求时的IP记录问题。以下是一些有用的提示:

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.如果你使用宝塔面板,则需要使用 ngx_http_realip_module 模块支持获取真实IP。宝塔环境下安装的Nginx自带此模块,不需要额外安装。如果是默认编译安装的Nginx,可能不存在此模块,需要自行安装并启用才能使配置生效。

温馨提示: 本文最后更新于2023/06/24 23:51:11。若文章内容或图片失效,请 留言联系站长反馈!
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容