Ошибка Django DisallowedHost, несмотря на то, что домен находится в списке ALLOWED_HOSTS

Описание проблемы

Я получаю сообщение об ошибке DisallowedHost в моей рабочей среде Django, хотя домен явно указан в моем параметре ALLOWED_HOSTS. Я использую traefik.

Сообщение об ошибке:

django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'api.tuitionwave.com'. You may need to add 'api.tuitionwave.com' to ALLOWED_HOSTS.

Текущая конфигурация:

Мой файл настроек production.py содержит конфигурацию: ALLOWED_HOSTS

ALLOWED_HOSTS = ["api.tuitionwave.com", "localhost", "127.0.0.1", "django"]

# Trust proxy headers
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = True

# Security settings
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=True)

Что я пробовал

  • Проверено, что api.tuitionwave.com явно указан в элементе списка ALLOWED_HOSTS

  • Подтверждено, что файл настроек загружен правильно

  • Проверил, нет ли проблем с пробелами в доменном имени

А вот и мой traefik.yml Подробности о файле

http:
  routers:
    web-router:
      rule: "Host(`api.tuitionwave.com`)"
      entryPoints:
        - web
      middlewares:
        - redirect
      service: django

    web-secure-router:
      rule: "Host(`api.tuitionwave.com`)"
      entryPoints:
        - web-secure
      middlewares:
        - default-headers
      service: django
      tls:
        # https://docs.traefik.io/master/routing/routers/#certresolver
        certResolver: letsencrypt
Вернуться на верх