3. 配置Nginx 日志格式;
log_format main ‘$http_x_forwarded_for|$http_x_real_ip|$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" "$http_x_real_ip"‘;
4. 配置Server 访问日志,与real_ip ;
server { server_name localhost; listen 443; access_log /home/logs/nginx/www_logs/web_access.log main; error_log /home/logs/nginx/error.log; set_real_ip_from 0.0.0.0/0; real_ip_header X-Real-IP; real_ip_recursive on;
5. 配置 proxy_set_header 转发至后端,此处测试使用 proxy_set_header X-Real-IP $http_x_real_ip,proxy_set_header X-Real-IP $remote_addr ;都有测试,单独或者组合并不能过滤postman 假请求ip ,还会携带CDN 节点ip ;
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $http_add_x_forwarded_for;
6.由于我们在程序上面做一个单独的测试接口,我们可以抓取用户访问真实IP;
以上使用百度云 经过多层跳转之后,抓取到的用户真实IP;
CDN 使用百度云,Nginx 负载后端源 ,抓取用户真实IP
原文:https://www.cnblogs.com/itusye/p/12418415.html