Не работает добавления заголовков (proxy_headers) в обратном прокси nginx

Рейтинг: 0Ответов: 0Опубликовано: 22.08.2023

Есть сервер NGINX со следующей конфигураций:

server {
        listen 80;
    
        location /api/v1 {
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto $scheme;
            proxy_pass http://app:8000;
        }
    
        location /docs {
            proxy_pass http://app:8000/docs;
        }
    
        location /static/ {
            root   /www/;
        }
}

А также "приложение", написанное на FastAPI python-3.10:

from fastapi import FastAPI, Request

    app = FastAPI()
    
    
    @app.get("/")
    async def get_header(request: Request):
        return request.headers

Результат запроса является словарь, который выглядит следующим образом:

{
  "host": "0.0.0.0:8000",
  "connection": "keep-alive",
  "accept": "application/json",
  "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
  "referer": "http://0.0.0.0:8000/docs",
  "accept-encoding": "gzip, deflate",
  "accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7"
}

Почему итоговый словарь не содержит заголовков, которые должны добавляться при маршрутизации в nginx (X-Forwarded-For, X-Real-IP и т.д)?

Ответы

Ответов пока нет.