我有以下Nginx配置用于我的Django应用程序:
upstream api {
server localhost:8000;
}
server {
listen 80;
location / {
proxy_pass http://api;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /staticfiles {
alias /app/static/;
}
}
我基于这里的教程来配置。经过一些研究,发现设置Host
标头可以让Django API确定原始客户端的IP地址(而不是代理的IP地址)。
X-Forwarded-For
标头有什么用?在nginx日志中看到一个名为$http_x_forwarded_for
的字段,但我不确定它是否相关。