Я использую Django 1.5.1 на производственном веб-сайте, но у меня есть огромное количество отчетов 500 из-за запрещенных запросов хостов. Виртуальный хост Nginx моего веб-сайта настроен следующим образом:
server {
listen 80;
server_name mywebsite.com.br;
location / {
uwsgi_pass unix:/opt/project/run/brmed_web.sock;
include uwsgi_params;
}
}
И я установил разрешенные настройки хоста на settings.py
как:
ALLOWED_HOSTS = ['mywebsite.com.br']
Несмотря на то, что он отлично работает с моим разрешенным хостом, я продолжаю получать следующие ошибки для странных хостов:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 92, in get_response
response = middleware_method(request)
File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 57, in process_request
host = request.get_host()
File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 72, in get_host
"Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)
SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): 108.166.113.25
Некоторые из хостов, если не все, явно злонамеренные, поскольку их запросы пытаются обмануть некоторые вещи PHP. Подробнее об одном из хостов можно узнать по этой ссылке.
Мой вопрос: что мне не хватает в конфигурации Nginx, которая позволяет проходить этим запросам с этими странными хостами? К вашему сведению, у моего Nginx есть только этот файл конфигурации и файл конфигурации по умолчанию.