Django «Возможно, вам потребуется добавить „Server IP“ в ALLOWED_HOSTS».
Здравствуйте, я понимаю, что этот вопрос уже задавался, но я не нашел четкого ответа.
Некоторая информация: Я использую nginx для прокси. Gunicorn для WSGI. У меня есть доменное имя, связанное с моим ip. Все работает нормально. Все мои запросы отправляются через доменное имя, а не через ip.
Что я пробовал: я пытался блокировать запросы с IP-адресом от nginx, потому что изначально я думал, что некоторые боты делают запросы, используя IP-адрес напрямую. Но запрос все равно дошел до django, так как эта ошибка выбрасывается django. Так что либо nginx не заблокировал их, либо что-то преобразует доменное имя в IP-адрес сервера, внутренне не уверен.
Предпочтительные требования: Я ищу решение И причину. Я понимаю, что многие люди предлагают просто добавить IP в список разрешенных хостов. что очевидно, но есть ли веская причина для этого, как в том, что вызывает эту проблему для начала и почему решение добавляет ip-адрес, а не устраняет то, что делает серверные ip-запросы, что кажется правильным подходом. Очевидно, что я не знаю причины, поэтому я не знаю, возможно ли это вообще.
Заранее благодарен <3
вот ошибка/предупреждение, которую я получаю на сервере
django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'Server IP'. You may need to add 'Server IP' to ALLOWED_HOSTS.
ERROR 09:50:52 PM exception Invalid HTTP_HOST header: 'Server IP'. You may need to add 'Server IP' to ALLOWED_HOSTS.
Traceback (most recent call last):
File "/home/ubuntu/Project/Settings/venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/Project/Settings/venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 128, in __call__
response = self.process_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/Project/Settings/venv/lib/python3.12/site-packages/django/middleware/common.py", line 48, in process_request
host = request.get_host()
^^^^^^^^^^^^^^^^^^
File "/home/ubuntu/Project/Settings/venv/lib/python3.12/site-packages/django/http/request.py", line 151, in get_host
raise DisallowedHost(msg)