Ошибка: 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;
}
}
@MarkB Я добавил его только в файл настроек (но откуда aws узнает, что я внес изменения в файл настроек github, есть ли там команда для обновления aws? если есть, дайте мне знать.) и выполнил эти команды для запуска сервера 'sudo systemctl restart nginx, перезапуск службы sudo service, перезапуск службы sudo nginx» — это правильные команды?
Если вы обновляете только настройки в GitHub и не развертываете эти изменения на сервере, ваши изменения вообще не попадают в AWS.
@MarkB Итак, какие команды нужно развернуть на сервере после внесения изменений?
Для этого не существует единой «команды». Это полностью зависит от вашей инфраструктуры, того, как вы изначально развернули проект на сервере, и используете ли вы что-нибудь вроде AWS CodeDeploy или AWS Elastic Beanstalk.
используйте ALLOWED_HOSTS = ['*'] он автоматически разрешает все IP-адреса хоста
вы открываете порт на ec2?
я сделал это, и это тоже выдало мне ту же ошибку.
вы открываете порт на ec2?
Как я могу это сделать
проверьте 1. включите сайт nginx 2. расположение исходного файла тоже имеет значение
в правилах для входящего трафика групп безопасности я установил HTTP 80, SHH 22, ALL TCP 0-65535
Если бы порт не был открыт, запросы никогда не попадали бы в Django, и эти журналы не отображались бы.
@MarkB Но мой порт открыт, как я уже упоминал в своем комментарии выше.
@RahulVerma Я отмечал, что порт, очевидно, уже открыт, поэтому нет смысла спрашивать об этом.
@MarkB Итак, когда я делаю ошибку, я много пробовал, но получаю ту же ошибку
Я только что выполнил эти команды, чтобы сообщить серверу EC2 об изменениях, которые я внес в файлы GitHub.
git fetch --all
git reset --hard origin/master
Если вы добавили это значение в
ALLOWED_HOSTS
, но по-прежнему видите сообщения об ошибках, предлагающие добавить значение вALLOWED_HOSTS
, то, похоже, вы либо добавили его не в тот файл, либо не перезапустили Django после его добавления.