Получение ошибки CORS только при запуске приложения django через docker-compose

У меня есть приложение Django backend, использующее Django-rest-framework. В настоящее время я разрабатываю фронтенд с помощью React, используя Axios для выполнения HTTP-запросов.

Когда я запускаю свое приложение с помощью python manage.py runserver и делаю запрос от клиента React, я получаю ожидаемый ответ.

Тем не менее, если я запускаю свое приложение с помощью docker-compose, я получаю ответ Нет заголовка 'Access-Control-Allow-Origin' на запрашиваемом ресурсе.

Это мой docker-compose.yaml

services:
  db:
    image: postgres
    volumes:
      - /var/lib/docker/volumes/mobilequoter/db/data:/var/lib/postgresql/data
    ports:
      - ${DB_PORT}:5432
    environment:
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASSWORD}
      - POSTGRES_DB=${DB_NAME}
  web:
    build: .
    command: gunicorn mobilequoter.wsgi --bind 0.0.0.0:${PORT}
    env_file: .env
    volumes:
      - .:/code
    ports:
      - 8000:${PORT}
    environment:
      - DB_HOST=db
      - DB_PORT=5432
    depends_on:
      - db

Вот мой settings.py (с настройками, связанными с CORS:

)
handler = EnvHandler()

SECRET_KEY = handler.SECRET_KEY
DEBUG = handler.DEBUG
ALLOWED_HOSTS = handler.ALLOWED_HOSTS
CORS_ALLOWED_ORIGINS = handler.CORS_ALLOWED_ORIGINS
SHELL_PLUS = 'ipython'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    #  third party
    'rest_framework',
    'drf_yasg',
    'storages',
    'django_extensions',
    'corsheaders',

    #  local
    'mobilequoter.helper',
    'mobilequoter.authentication',
    'mobilequoter.client',
    'mobilequoter.quote',
    'mobilequoter.sale',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Вот мои переменные env, связанные с хостами:

ALLOWED_HOSTS=127.0.0.1,localhost
CORS_ALLOWED_ORIGINS=http://127.0.0.1:3000,http://localhost:3000

Это мой клиент Axios:

import axios from "axios";

const axiosClient = axios.create({ baseURL: process.env.REACT_APP_BACKEND_URL });

export default axiosClient;
REACT_APP_BACKEND_URL=http://localhost:8000/api/

Здесь я делаю запрос:

import axiosClient from "../../../config/axios";
import { login, logout } from "../slices/auth";

export const loginAction = (data) => async (dispatch) => {
  try {
    const response = await axiosClient.post("auth/access/", data);
    console.log(response.data);
    dispatch(login(response.data));
  } catch (err) {
    throw new Error(err);
  }
};

export const logoutAction = () => async (dispatch) => {
  try {
    dispatch(logout());
  } catch (err) {
    throw new Error(err);
  }
};

Вот что я получаю при использовании docker-compose enter image description here

Вот что я получаю с помощью runserver enter image description here

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