Ошибка 502 Bad Gateway Nginx при развертывании приложения Django Channels с помощью Daphne в Google App Engine (гибкий) - PullRequest
0 голосов
/ 23 января 2020
Приложение

My Django работало нормально на Google App Engine (гибкая версия), используя gunicorn в качестве точки входа в файле app.yaml. Мне нужно было добавить websockets к нему, поэтому я использовал 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 и файл require.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 и c)

  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: приложение

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

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

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