报错原因:sockjs
【温馨提示】本文部分内容收集整理于互联网,不代表YINGSOO观点!若有咨询“sockjs”等有关服务器、云主机租用、托管、配置、价格问题,请免费咨询YINGSOO客服,享受1v1贴心服务!
【新品推荐】马来西亚云服务器促销 | CDN加速 | 日本高防服务器促销
【热门文章】云主机的优势?
sockjs-node报错是啥原因?sockjs-node接口报错的原因有很多,可能是热加载功能失效,还可能是shadowsock代理、nodejs配置等等,要解决保持的问题,先判断出原因很重要的。针对下文的情况,我们来看看是什么原因及如何解决。
本文操作环境:Windows7系统,nodejs10.16.2版,Dell G3电脑。
如何解决sockjs-node 报错问题?
sockjs-node接口报错解决方案
项目背景
在接手其他人angular项目时(vue.js可能也会遇到此问题),为了解决跨域前端配置了nginx,项目启动后,后台ws报错,如下图所示:
问题定位:
上网查找报错原因,发现sockjs-node为nodejs热加载用于浏览器和本地通信的接口,此时热加载功能失效。因此判断错误原因为:此通信接口访问到的是nginx代理的9097端口而不是实际服务启动的8082端口,因此无法进行通信。
解决方案:
在nginx上配置对此9097端口进行配置,让/sockjs-node其能够正常代理到本机实际端口上,从而解决问题。
具体措施:
在nginx中增加nginx配置
http { include mime.types; default_type application/octet-stream; map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 9097; server_name localhost;location /sockjs-node { proxy_pass http://0.0.0.0:8082; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
注:以上内容最重要的就是在反向代理的配置中增加了如下两行,其它的部分和普通的HTTP反向代理没有任何差别。
roxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
这里面的关键部分在于HTTP的请求中多了如下头部:
Upgrade: websocket
Connection: Upgrade
这两个字段表示请求服务器升级协议为WebSocket。美国云服务器租用
结语
实际情况中,/sockjs-node报错原因可能有很多,还可能是shadowsock代理、nodejs配置等,只要了解问题本质,正确的让ws访问到本地实际的地址即可。
以上就是关于sockjs-node报错的原因判断及解决方法的分享,无论是什么原因,只要了解问题本质,正确的让ws访问到本地实际的地址就可以了,希望本文能对大家有帮助。想要了解更多可以继续浏览本公司其他相关的文章。
YINGSOO拥有完善的售后服务体系,为客户提供快捷、专业、准确、热情的技术支持与服务。YINGSOO以“追求品质,精益求精”为理念,切实提供完善的售后服务体系,保障客户的使用安全与稳定。全国统一服务热线:400-630-3752
热搜词条:【都是用户】【用户文章】【客户端服务器】【索引子句】【语句代码】【系统界面】【周岁精确】【线程查看】【香港服务器】【可用很多人】【配置安装】【岗位属性】【安装几件事】【查询分组】【西安服务器】【滤镜连环画】【劫持管道】【服务器免费】【内存文件】【代码字段】【桌面回收站】【代码广告】【导入数据】【用户内容】【日本服务器】【分页查询】【私有网络】【空间服务器】【记事本安装】【雅虎原创】
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。