原创NGINX上如何记录经过阿里云CDN后的客户端IP

7 0 0
大乐文章
发表于3年前

默认NGXIN上的客户端IP的变量是 $remote_addr .

一般对于客户IP相关的操作都是基于这个变量.

比如下面常见方法,将客户IP写入日志:

http{
   ...

    #初始化日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent';
   ...
    server
    {
     ...
     access_log  /www/wwwlogs/www.dale6.com.log main;
     }
}

对于阿里云的CDN或者全球加速来说,修改为 $http_ali_cdn_real_ip ,因为从阿里云CDN过来的连接,阿里云都会将客户端IP写入到头信息的 Ali_Cdn_Real_Ip 里面,在NGINX里面获取头信息就是加上http并小写就行,所以就是下面这样,这样记录到日志的就是客户端的真实IP。

http{
   ...

    #初始化日志格式
    log_format  main  '$http_ali_cdn_real_ip - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent';
   ...
    server
    {
     ...
     access_log  /www/wwwlogs/www.dale6.com.log main;
     }
}

本站的所有数据收集于网络如有侵犯到您的权益请联系 admin@dale6.com 进行下架处理。提供的内容仅用于学习和测试,不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。

转载时必须带上转载链接或本文链接!

本文链接: https://www.dale6.com/2021/05/23/nginxshangruhejilujingguoaliyuncdnhoudekehuduanip/

0
最后修改:3年前
0条评论

留下你的评论

必须 登录 才能发表评论

Copyright © 2023 大乐文章 · 基于 WordPress · 使用大乐主题 · 鄂ICP备20005751号-1 · 备案图标鄂公网安备 42011202001820号