使用CDN后配置nginx自定义日志获取访问用户的真实IP

问题描述:

        新上线了一个项目,架构如下(简单画的理解就好):

问题是:负载前面加上CDN后负载这里无法获取客户的真实访问IP,只能过去到CDN的IP地址;

问题解决:

修改nginx日志添加:$HTTP_CDN_SRC_IP

log_format main 'CDN_IP:$remote_addr - CLIENT_IP:$HTTP_CDN_SRC_IP - $remote_user [$time_local] "$request" '
                           '$status $body_bytes_sent "$http_referer" '
                           '"$http_user_agent" "$http_x_forwarded_for"';

此时去访问程序,然后查看访问日志:

此时发现已经可以获取到客户端的真实IP地址了!!

 

posted @ 2018-12-03 17:28  欧-阳  阅读(1837)  评论(0编辑  收藏  举报