Ошибка Django DisallowedHost в/неверный заголовок HTTP_HOST: 'xx.xx.xx.xx' снова и снова

Ошибка: DisallowedHost в / Неверный заголовок HTTP_HOST: «3.17.142.65». Возможно, вам придется добавить «3.17.142.65» в ALLOWED_HOSTS.

Я пытаюсь развернуть свой сайт Django на AWS EC2 при развертывании через github, используя git clone в AWS live cli. Я снова и снова получаю следующие ошибки. IP-адрес моего экземпляра EC2 — 3.17.142.65, и сначала в файле настроек я оставил его таким: ALLOWED_HOSTS = ['3.17.142.65', 'localhost', '127.0.0.1'] это показывает мне ту же ошибку, затем я изменил его на ALLOWED_HOSTS = ['3.17.142.65'] это также дает ту же ошибку. (Одна вещь, которую я не получаю, как будто я клонировал свой проект github один раз при запуске, а затем, если я меняю файл настроек github, как aws cli узнает об этих изменениях. Кстати, я запускаю команду git pull origin master Прав ли я, что мне следует запустить эту команду, пока вносить какие-либо изменения в файлы github)

Я новичок в Ubuntu и развертывании веб-сайтов, поэтому, пожалуйста, подскажите мне, в чем я ошибаюсь.

Чтобы запустить сервер, я выполняю эти команды

sudo systemctl restart nginx
sudo service gunicorn restart
sudo service nginx restart

Мой настроенный файл Nginx

server {
    listen 80;
    server_name 3.17.142.65;

    location = /favicon.ico { access_log off; log_not_found off; }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Если вы добавили это значение в ALLOWED_HOSTS, но по-прежнему видите сообщения об ошибках, предлагающие добавить значение в ALLOWED_HOSTS, то, похоже, вы либо добавили его не в тот файл, либо не перезапустили Django после его добавления.

Mark B 10.04.2024 17:24

@MarkB Я добавил его только в файл настроек (но откуда aws узнает, что я внес изменения в файл настроек github, есть ли там команда для обновления aws? если есть, дайте мне знать.) и выполнил эти команды для запуска сервера 'sudo systemctl restart nginx, перезапуск службы sudo service, перезапуск службы sudo nginx» — это правильные команды?

Rahul Verma 11.04.2024 17:30

Если вы обновляете только настройки в GitHub и не развертываете эти изменения на сервере, ваши изменения вообще не попадают в AWS.

Mark B 11.04.2024 17:31

@MarkB Итак, какие команды нужно развернуть на сервере после внесения изменений?

Rahul Verma 11.04.2024 17:40

Для этого не существует единой «команды». Это полностью зависит от вашей инфраструктуры, того, как вы изначально развернули проект на сервере, и используете ли вы что-нибудь вроде AWS CodeDeploy или AWS Elastic Beanstalk.

Mark B 11.04.2024 18:46
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
5
57
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

используйте ALLOWED_HOSTS = ['*'] он автоматически разрешает все IP-адреса хоста

вы открываете порт на ec2?

я сделал это, и это тоже выдало мне ту же ошибку.

Rahul Verma 10.04.2024 12:55

вы открываете порт на ec2?

Tula Ram Sahu 10.04.2024 13:06

Как я могу это сделать

Rahul Verma 10.04.2024 13:07

проверьте 1. включите сайт nginx 2. расположение исходного файла тоже имеет значение

Tula Ram Sahu 10.04.2024 13:12

в правилах для входящего трафика групп безопасности я установил HTTP 80, SHH 22, ALL TCP 0-65535

Rahul Verma 10.04.2024 14:17

Если бы порт не был открыт, запросы никогда не попадали бы в Django, и эти журналы не отображались бы.

Mark B 10.04.2024 15:04

@MarkB Но мой порт открыт, как я уже упоминал в своем комментарии выше.

Rahul Verma 10.04.2024 17:14

@RahulVerma Я отмечал, что порт, очевидно, уже открыт, поэтому нет смысла спрашивать об этом.

Mark B 10.04.2024 17:16

@MarkB Итак, когда я делаю ошибку, я много пробовал, но получаю ту же ошибку

Rahul Verma 10.04.2024 17:22
Ответ принят как подходящий

Я только что выполнил эти команды, чтобы сообщить серверу EC2 об изменениях, которые я внес в файлы GitHub.

git fetch --all
git reset --hard origin/master

Другие вопросы по теме