502 WebSocket握手期间的错误网关

时间:2018-01-09 04:47:20

标签: 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) {
...

应用程序的这个websockets部分不起作用。当我加载页面时,我的Chrome Web Inspector说:

Request URL:ws://myapphostname/
**502 Bad Gateway**

网站的其余部分加载正常。

我开始使用以下内容:     daphne -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的主机文件当然是设置的,并指向应用程序的IP(通过流浪汉在vm中运行)。

目前我不确定我的应用程序的错误配置是否更多不是nginx网站或更多关​​于websockets后端部分。

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

0 个答案:

没有答案