Назад | Перейти на главную страницу

Настройте Nginx, чтобы разрешить только указанные хосты

Я запускаю проект Django в DigitalOcean (используя Nginx, Gunicorn и Postgres), и я указал «разрешенные хосты» в settings.py следующим образом:

ALLOWED_HOSTS = ['sub.domain.tld']

Основываясь на том, что DigitalOcean уже установил, и на основе сообщения в блоге, которое я нашел, я также изменил свои настройки Nginx для страницы (/ etc / nginx / sites-available / django) следующим образом:

if ($host !~* ^(sub.domain.tld)$ ) {
    return 444;
}

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://app.server;
}

Я до сих пор продолжаю получать письма от моего проекта Django, например, этот:

«Неверный заголовок HTTP_HOST: '1111.ip138.com'. Возможно, вам потребуется добавить u'1111.ip138.com 'в ALLOWED_HOSTS.

Когда я захожу на сайт из своего браузера, все вроде нормально. Не могли бы вы сообщить мне, в чем проблема с моей конфигурацией?

Спасибо, Тобиас