В заголовке ответа NGINX отсутствует заголовок Access-Control-Allow-Origin, когда приложение uWSGI - Djago не работает

Наш проект использует типичную настройку со шлюзом приложений NGINX, контейнером приложений uWSGI и приложением Django. Django настроен с использованием промежуточного ПО cors и успешно обрабатывает запросы из кросс-доменов. Однако одна из наших конечных точек сохраняет большие файлы для загрузки, что может занять значительное время. Если это занимает слишком много времени, uWSGI завершает работу, а NGINX возвращает ответ, в котором отсутствует заголовок Access-Control-Allow-Origin. Мы увеличили значения uwsgi_connect_timeout и uwsgi_read_timeout в конфигурации NGINX, чтобы решить большинство проблем.

Поскольку Django обрабатывает cors и, следовательно, заголовок Access-Control-Allow-Origin, NGINX не имеет этих значений для возврата клиенту. Кто-нибудь знает, какие настройки uWSGI или NGINX мне нужны, чтобы получить правильные заголовки?

Упрощенная версия конфигурации нашего nginx:

    upstream results_uwsgi {
        server unix:///opt/app_manager/app_manager.sock;
    }

    server {
        listen 80;
        server_name \$hostname;
        return 301 https://\$host\$request_uri/;
    }

    server {

        listen 443 http2 ssl;
        listen [::]:443 http2 ssl;

        server_name \$hostname;
        charset     utf-8;
        stub_status on;

        # adjust to taste
        client_max_body_size 75M;
        large_client_header_buffers 4 128k;

        location / {
            uwsgi_pass  results_uwsgi;
            include     uwsgi_params;
        }

        location /api {
            uwsgi_connect_timeout 10000s;
            uwsgi_read_timeout 10000s;
            sendfile on;
            uwsgi_pass  results_uwsgi;
            include     uwsgi_params;
        }
    }

Наша конфигурация uWSGI:

[uwsgi]

app_root = /opt/app_manager

# emperor = /etc/uwsgi/vassals
chdir           = %(app_root)
module          = api.wsgi

# process-related settings
# master
master          = true

# maximum number of worker processes
processes       = 10

# the socket (use the full path to be safe)
socket          = /opt/app_manager/app_manager.sock
chmod-socket    = 666

buffer-size     = 131072

auto_procname   = true

# clear environment on exit
vacuum          = true
# logging
logdate = True
logto = /var/log/app_manager.log
log-maxsize = 10000000

Заранее спасибо.

Tron.

Пробовал добавить add_header 'Access-Control-Allow-Origin' $http_origin always;

в раздел /api {}. Что вызывает ошибку сервера.

Вернуться на верх