failed: Error during WebSocket handshake: Unexpected response code: 400
问题描述:在项目中引用Socket.Io,在项目部署后报错,本地运行不报错
错误原因:需要在配置文件nginx.conf中配置相关信息
解决方案:
在nginx文件的location中添加
proxy\_http\_version 1.1;
proxy\_set\_header Upgrade $http\_upgrade;
proxy\_set\_header Connection "upgrade";
第一行告诉Nginx在与Node后端通信时使用HTTP / 1.1,这是WebSockets所必需的。接下来的两行告诉Nginx响应升级请求,当浏览器想要使用WebSocket时,该请求由HTTP启动。这三行都是必须添加的。
例如:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /usr/share/nginx/html;
\# Load configuration files for the default server block.
include /etc/nginx/default.d/\*.conf;
location / \{
proxy\_pass http://localhost:3100;
proxy\_http\_version 1.1;
proxy\_set\_header Upgrade $http\_upgrade;
proxy\_set\_header Connection "upgrade";
proxy\_set\_header Host $host;
\}
}
-——————————
作者:Tvibe
来源:CSDN
原文:https://blog.csdn.net/ItTvibe/article/details/81538096
版权声明:本文为博主原创文章,转载请附上博文链接!
还没有评论,来说两句吧...