Nginx 502 WebSocket握手期间网关损坏

Nginx 502 WebSocket握手期间网关损坏,nginx,websocket,vagrant,django-channels,daphne,Nginx,Websocket,Vagrant,Django Channels,Daphne,我的应用程序使用: django海峡 nginx daphne(Django通道HTTP/WebSocket服务器) 在我的前端html文件中,有以下几行javascript代码: socket = new WebSocket("ws://" + window.location.host); socket.onmessage = function(e) { ... 应用程序的此WebSocket部分不工作。当我加载页面时,我的Chrome Web检查器会说: Request URL:ws:

我的应用程序使用:

  • django海峡

  • nginx

  • daphne(Django通道HTTP/WebSocket服务器)

在我的前端html文件中,有以下几行javascript代码:

socket = new WebSocket("ws://" + window.location.host);
socket.onmessage = function(e) {
...
应用程序的此WebSocket部分不工作。当我加载页面时,我的Chrome Web检查器会说:

Request URL:ws://myapphostname/
**502 Bad Gateway**
站点的其余部分加载正常

我从达芙妮开始: 达芙妮-b 0.0.0.0-p 8001

nginx配置是这样的:

server {
    listen 80;
    server_name myapphostname;

    location / {
            proxy_pass http://0.0.0.0:8001;
            proxy_http_version 1.1;
            proxy_buffering off;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            proxy_redirect     off;
            proxy_set_header   Host $http_host;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
}
当然,主机上myapphostname的Hostfile已设置,并指向应用程序的IP(通过vagrant在vm中运行)

目前,我不确定我的应用程序的错误配置是否更多地来自nginx站点,或者更多地来自websockets后端部分


我想知道我可以朝哪个方向进一步调试这个问题。

我有一个相同的设置,基本上是相同的问题。你能解决这个问题吗?