如何设置Nginx服务器以使用WebSocket?

时间:2020-03-18 23:26:18

标签: javascript nginx websocket

我有一个需要通过Nginx服务器工作的网站。目前,我认为nginx的配置不正确。我目前有

server{
        server_name websitename.com;

       location /websocket/{
                proxy_pass http://websitename.com;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade";
                proxy_set_header $host;
        }

}

此刻,我在网站上收到一条错误消息,内容为“ SCRIPT12008:SCRIPT12008:WebSocket错误:错误的HTTP响应。状态代码200,确定”,我认为这是因为协议未正确切换。

1 个答案:

答案 0 :(得分:1)

您忘记了$ host之前的双引号和“ Host”来设置Host指令:

proxy_set_header Host $host;

因此,您的配置应改为:

server{
        server_name websitename.com;

       location /websocket/{
                proxy_pass "http://websitename.com";
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
        }

}

始终使用“ nginx -t”命令检查语法。

相关问题