Токен CSRF не работает в производственной среде

Мое окружение: Бэкэнд Django развернут на Elastic Beanstalk за балансировщиком нагрузки приложений, который завершает ssl.

Поток таков: мой сайт обслуживается на S3 и cloudfront на домене: https://www.test.app.mydomain.com/. Это отправляет запрос на бэкэнд, который имеет домен: https://api.test.mydomain.com/. Запрос получает csrftoken в cookies браузера и включает его в заголовки.

Токены CSRF работают локально, но не работают в моей производственной среде. Самое главное, что в производственной среде нет csrftoken в cookies браузера.

Вот мои настройки, которые имеют отношение к делу:

MIDDLEWARE = [
    # keep on top
    'corsheaders.middleware.CorsMiddleware',
    # rest of the middleware
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]
SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies"

SESSION_COOKIE_AGE = 7200  # 2 hours

SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
CSRF_TRUSTED_ORIGINS = ['http://localhost:3000', 'https://www.test.app.mydomain.com', 'https://test.app.mydomain.com']
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
USE_X_FORWARDED_HOST = True

CORS_ALLOWED_ORIGINS = ['http://localhost:3000', 'https://www.test.app.mydomain.com', 'https://test.app.mydomain.com']
CORS_ALLOW_CREDENTIALS = True

CORS_ALLOW_HEADERS = list(default_headers) + [
    'Tab-ID',
]

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