Назад | Перейти на главную страницу

gunicorn всегда получает локальный хост от nginx как RemoteIPAddr

Я пытаюсь получить реальный / исходный IP-адрес запроса в настройке NGINX <-> GUNICORN.

Я считаю, что установил правильные заголовки в NGINX:

location / {
  # checks for static file, if not found proxy to app
  try_files $uri @app;
}

location @app {
  set_real_ip_from 127.0.0.1/32;
  proxy_set_header X-Forwarded-Host $host:$server_port;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  proxy_pass_request_headers on;
  proxy_pass http://app;
}

и я заряжаю пулемет так:

...bin/python3.7 /opt/appbackend/bin/gunicorn --config python:app.gunicorn_conf app.wsgi

gunicorn_conf.py содержит строку:

 access_log_format = '%({X-Forwarded-For}i)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'

Что бы я ни делал, я всегда получаю в результате:

def test(request):
       return HttpResponse(request.META['REMOTE_ADDR'])

127.0.0.1

Спасибо за любое предложение.