Корсхедеры Django + Nginx не видны для случайных конечных точек

Я разрабатываю веб-приложение с помощью Django, Vue и Docker. В течение некоторого времени я начал сталкиваться с проблемой ошибки политики CORS. Странно то, что ошибка иногда появляется, а иногда не появляется - я не могу определить, от чего она зависит.

Обычно есть некоторые изменения после перестройки всего проекта командой docker-compose up --build, однако, я не могу выделить ни одной причины, почему я получаю ошибку CORS на сервере и localhost также.

Сообщение об ошибке выглядит следующим образом:

Access to XMLHttpRequest at 'https://api.mywebsite.com/profile/' from origin 'https://mywebsite.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я настроил CORS для Django, вот конфигурация:

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]

# ...

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = [
    'https://mywebsite.com', # Here's where the web application is
    'https://api.mywebsite.com', # Here's Django API
]

Вот файл nginx.conf:

server {

    listen 80 default_server;
    client_max_body_size 20M;

    location / {
        autoindex on;

        if ($request_method = OPTIONS) {
            return 204;
        }

        add_header Access-Control-Allow-Origin "https://mywebsite.com";
        add_header Access-Control-Allow-Origin "https://api.mywebsite.com";
        add_header Access-Control-Max-Age 3600;
        add_header Access-Control-Expose-Headers Content-Length;
        add_header Access-Control-Allow-Headers Range;


   }

    location /static/ {
        autoindex on;
        alias /static/;
    }

}

файл docker-compose.yml:

Я буду благодарен за любую подсказку, которая поможет мне преодолеть ошибку CORS - у вас есть идеи, что может быть причиной?

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