我的 Django 应用程序有以下 Nginx 配置:
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
,但我不确定它是否相关。