启用CDN后Nginx获取真实IP地址
warning:
这篇文章距离上次修改已过1755天,其中的内容可能已经有所变动。
启用CDN后,网站日志记录的全是CDN的回源ip,而阿里云CDN日志是一小时一分割的,下载合并太麻烦了。
后来发现在Nginx配置文件中添加下面的内容,就可以正常获取访问者真实ip了。
#获取cdn真实ip
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
info:原理:CDN会把用户的ip放到回源的HTTP请求头中的
X-Forwarded-For
或X-Real-IP
字段里。Error:由于HTTP请求头可以伪造,所以获取的ip不一定是真正的访问者ip。请保护好源站ip!