Django runserver не работает с облачной платформы Google - PullRequest
0 голосов
/ 06 февраля 2019

Этот вопрос очень похож на (но не тот, потому что я работаю в облаке Google, что, как я подозреваю, может быть причиной проблемы):

Я пытаюсь настроить API, работающий наVM-экземпляр на облачной платформе Google.До сих пор у меня работал nginx (когда я захожу на IP-адрес, он приветствует меня).Когда я запускаю:

python3 manage.py runserver 0.0.0.0:8000

я получаю следующий вывод:

Выполнение системных проверок ...

Проверка системы не выявила никаких проблем (0 отключено).

06 февраля 2019 - 09: 27: 13

Django версия 2.1.5, используя настройки 'my_api.settings.development'

Запуск сервера разработки с http://0.0.0.0:8000/

Выйдите из сервера с помощью CONTROL-C.

Это выглядит хорошо, но когда я перехожу на любую из следующих страниц (все из которых я перечислил в allow_hosts):

  • 0.0.0.0: 8000
  • 127.0.0.1: 8000
  • <мой IP-адрес>: 8000

Страница выиграна 't load.

Я пытался проверить, какие порты используются, используя

netstat

И я убил все программы, использующие этот порт, после чего я перезапустил свою программу, но безрезультатно.

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

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Как указывает @JohnHanley, мне нужно было создать правило брандмауэра.

Я сделал это:

  1. переходя на консоль облачной платформы Google
  2. правила брандмауэра -> сеть vpc
  3. + создать правило брандмауэра
  4. Добавлены все необходимые ip-адреса в «исходные ip-диапазоны» (за которыми следует / 32, не уверен почему, но это то, что кажетсяработа)
  5. В разделе "Протоколы и порты" я добавил tcp: 8000
  6. Я применил это к своему серверу
0 голосов
/ 21 августа 2019
  1. Убедитесь, что http-трафик включен

  2. Создайте правило брандмауэра следующим образом:

enter image description here

0 голосов
/ 06 февраля 2019

Вам потребуется создать правило брандмауэра, чтобы разрешить входящий трафик на tcp port 8000.

При создании правила брандмауэра также укажите Target tag, чтобы можно было назначить правило брандмауэра для экземпляра.Другой вариант - указать учетную запись службы, например Compute Engine default service account, чтобы назначить правило на основе идентификатора.

Фильтрация по учетной записи службы и сетевому тегу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...