NGINX перенаправляет результаты в "DisallowedHost at /" Django

Я установил nginx на Ubuntu 18.04.1 LTS с приложением Django One-Click на цифровом океане, у меня есть этот конфиг

settings.py

# Find out what the IP addresses are at run time
# This is necessary because otherwise Gunicorn will reject the connections
def ip_addresses():
    ip_list = []
    for interface in netifaces.interfaces():
        addrs = netifaces.ifaddresses(interface)
        for x in (netifaces.AF_INET, netifaces.AF_INET6):
            if x in addrs:
                ip_list.append(addrs[x][0]['addr' ])
    return ip_list


BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

когда я запускаюwww.enterpise.online

DisallowedHost at /
Invalid HTTP_HOST header: 'enterprise.online'. You may need to add enterprise.online' to ALLOWED_HOSTS.

Я пытаюсь изменить эту строку в settings.py с

ip_list.append(addrs[x][0][u'enterpise.online' ])

nginx отправляет сообщение:

502 Bad Gateway

Настройка nginx:

/ etc / nginx / sites-enabled /...

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    client_max_body_size 4G;
    server_name _;

    keepalive_timeout 5;

    # Your Django project's media files - amend as required
    location /media  {
        alias /home/django/django_project/django_project/media;
    }

    # your Django project's static files - amend as required
    location /static {
        alias /home/django/django_project/django_project/static;
    }

    # Proxy the static assests for the Django Admin panel
    location /static/admin {
       alias /usr/lib/python2.7/dist-packages/django/contrib/admin/static/admin/;
    }

    location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_redirect off;
            proxy_buffering off;

            proxy_pass http://app_server;
    }

}

У меня нет ясности, каков следующий шаг для активации www.enterprise.online. Когда я изменяю настройки, появляется та же самая ошибка. другими руками, мой DNS настроен нормально

1 ответ

Это проблема с настройками django. Эта ошибка означает, что IP-адрес, который используется для подключения, не отображается в settings.ALLOWED_HOSTS список Убедитесь, что ваш settings.py имеет строку, которая выглядит следующим образом:


ALLOWED_HOSTS = ip_addresses()
Другие вопросы по тегам