Ошибка 502 Bad Gateway Nginx при развертывании приложения Django Channels с использованием Daphne в Google App Engine (Flexible)

Мое приложение Django отлично работало в Google App Engine (Flexible), используя пушку в качестве точки входа в файле app.yaml. Мне нужно было добавить к нему веб-сокеты, поэтому я использовал каналы Django (с Redis). Это прекрасно работает на моей локальной машине (Windows 10).

Для развертывания я изменил свою точку входа на daphne на порту 8080, так как это значение по умолчанию в GAE (использование $PORT дает тот же эффект), поэтому мой файл yaml теперь выглядит следующим образом:

runtime: python
env: flex

runtime_config:
  python_version: 3

entrypoint: daphne -b 127.0.0.1 -p 8080 my_project_name.asgi:application

Я проверил файл .asgi и файл requirements.txt, чтобы убедиться, что все в порядке, а пакеты являются последними версиями.

Но после его развертывания я получаю ошибку "502 Bad Gateway Nginx".

Журналы Stackdriver (nginx.error) в облачной консоли GCP говорят следующее:

[error] 33#33: *341 connect() failed (111: Connection refused) while connecting 
to upstream, client: 172.xxx.xxx.xxx, server: , request: "GET / HTTP/1.1", 
upstream: "172.17.0.1:8080", host: "my_project_name.appspot.com" 

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

  1. используя разные порты (8000, 8001 и т. д.)

  2. добавление файла nginx.conf (на основе этой документации) в каталог моего проекта , вроде без разницы

  3. Добавление строки в разделе runtime_config файла yaml с надписью «nginx_conf_http_include: nginx.conf»

4. Использование сокетов Unix для запуска сервера daphne в точке входа, например «точка входа: daphne -u /tmp/daphne.sock my_project_name.asgi:application

  1. Удаление точки входа вообще после объявления сервера daphne в файле nginx.conf

Ничего из этого не помогает. Журналы остаются прежними, ошибка остается той же. Я прочитал такие вопросы, как this и this, но я не знаю, как применить их к GAE Flex, так как я не работаю напрямую с экземпляром виртуальной машины. Пожалуйста помоги.


person oktested    schedule 23.01.2020    source источник
comment
daphne -b 127.0.0.1 может ограничивать локальные подключения, только вы устали 0.0.0.0 ?   -  person Matthaus Woolard    schedule 24.01.2020
comment
Спасибо за ваш ответ. Да, я пробовал 0.0.0.0. Та же ошибка.   -  person oktested    schedule 24.01.2020
comment
Я сталкиваюсь с точно такой же проблемой. Вам удалось это решить?   -  person Stephan_Berlin    schedule 23.02.2021
comment
@Stephan_Berlin Я перешел на Heroku, и все было гладко. Извините за задержку с ответом.   -  person oktested    schedule 09.04.2021