Django没有将Heroku Websokect路由到dyno

时间:2019-06-04 19:30:02

标签: python django heroku django-channels

我正在尝试为Heroku中部署的Django应用启用Channels V2。 WSGI Web dyno可以完美运行,但是ASGI通道的第二个Web dyno从未收到请求,因此在尝试创建websocket连接时收到404响应。

这是Procfile文件:

web: gunicorn app_xxx.wsgi --log-file -
web2: daphne app_xxx.routing:application --port $PORT --bind 0.0.0.0 -v2

我也尝试过使用Uvicorn:

web: gunicorn app_xxx.wsgi --log-file -
web2: gunicorn app_xxx.asgi:application -b 0.0.0.0:$PORT -w 1 -k uvicorn.workers.UvicornWorker

好像一切都准备就绪,只需要找到一种方法来暴露wss端点

1 个答案:

答案 0 :(得分:0)

为了使Channels在Heroku上正常工作,您应该首先添加Redis附加组件,然后确保 settings.py 中的(\d*[.]?\d*) 变量指向此Redis主机。您可以在下面看到一个示例:

CHANNEL_LAYERS