4

我正在尝试在 AWS 实例上设置 WebSocket。由于我将 Django 用于我的 webapp,因此我使用Django Channels来支持 WebSocket 。我使用 AWS Elastic Beanstalk 部署了应用程序,但出现错误:

WebSocket 连接到“ws://xxx.elasticbeanstalk.com/”失败:WebSocket 握手期间出错:意外响应代码:200。

经过一番研究,我发现我需要在端口 80 上设置 TCP 并在 443 上设置 SSL 而不是 HTTP 和 HTTPS,我这样做了,但没有改变,我仍然得到错误。我还禁用了跨多个可用区的负载平衡,但没有成功。

我不知道 EB 配置文件是否有问题,因为我只WSGIPath设置而不是 Daphine 和 Channels 使用的 ASGI。没有ASGIPath标签可以尝试这个。

我找到了一篇关于新Application Load Balancer的文章,但由于它是一项相当新的服务,所以我无法找到任何关于 Django 的 WebSockets 的内容。Django Channels 也是新的,所以关于它的问题和帖子也不多。

4

0 回答 0