我有一个需要通过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,确定”,我认为这是因为协议未正确切换。
最佳答案
您忘记了$ 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”命令检查语法。
关于javascript - 如何设置Nginx服务器以使用WebSocket?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60748863/