Неверный HTTP_HOST на Django (EC2 Aws Ubuntu)

У меня проблемы с развертыванием моего приложения Django. Я запускаю его с помощью nohup на порту 8000 и использую nginx с настройкой SSL-сертификата, маскируя домен для порта 80.

Вот мои настройки Nginx по умолчанию:

server {
    listen 80;
    listen 443 ssl;
    server_name fmartns.dev;

    ssl_certificate /etc/letsencrypt/live/fmartns.dev/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/fmartns.dev/privkey.pem;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/fmartns.dev;
    }

    location / {
        include proxy_params;
        proxy_pass http://3.82.145.23:8000;  # Port where Django is running
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Конфигурация Django's settings.py:

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['fmartns.dev', '*']

SECURE_CONTENT_TYPE_NOSNIFF = True
SECURE_BROWSER_XSS_FILTER = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_SSL_REDIRECT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
CSRF_TRUSTED_ORIGINS = ['http://fmartns.dev']

Журнал ошибок:

DisallowedHost at /
Invalid HTTP_HOST header: 'fmartns.dev,fmartns.dev'. The domain name provided is not valid according to RFC 1034/1035.

Есть идеи, как я могу решить эту проблему? Я пробовал различные руководства и конфигурации как в моем settings.py, так и в стандартных настройках nginx.

Вы включаете заголовки дважды: include proxy_params и proxy_set_header.

Поскольку вы уже включили (include proxy_params), вы можете смело удалить три строки proxy_set_header в конфигурации nginx.

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