使用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地址了!!