使用nginx转发请求时,应用中获取到的用户ip 都是127.0.0.1,获取真实ip必须重写一些头部才行。通常在WSGI环境中经常使用的变量:REMOTE_ADDR ,在nginx转发时设置头部携带这个变量
nginx设置
server {
listen 80;
server_name _;
location / {
..................
proxy_pass http://127.0.0.1:8000/;
# $host 变量,Host 为变量名
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
改完niginx 配置记得重启