我有以下nginx配置将请求转发给gunicorn。
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
但是,当我使用request.META['REMOTE_ADDR']
访问远程地址时,它始终返回127.0.0.1
。我正在使用Django 1.9
答案 0 :(得分:1)
这是正确和预期的行为。如果您想访问用户IP,则需要使用:
request.META['HTTP_X_FORWARDED_FOR']
请注意,在开发中(不运行nginx),REMOTE_ADDR
仍然是正确的。
我的建议是添加一个中间件或实用程序方法,它将根据您的设置执行条件逻辑以获取实际用户IP。