Ошибка 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