sockjs-node报错是啥原因,解决方法是什么?
Admin 2022-01-12 群英技术资讯 2193 次浏览
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访问到本地实际的地址就可以了,希望本文能对大家有帮助。想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自PHP中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇内容里小编给大家整理的是一篇关于nodejs中的异步编程知识点详解内容,有兴趣的朋友们可以学习下。
本文实例为大家分享了js实现文字无缝轮播的具体代码,供大家参考,具体内容如下,所用到的知识点:innerHTML 获取或设置某个对象的内容scrollTop 滚动条滚动的距离,此属性是系统内置定义好的offsetHeight 获取或设置对象的高度setInterv...
这篇文章主要介绍了使用Vue3实现一个Upload组件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了javascript的一些基础知识,内容很全面,特别适合刚刚学习javascript的朋友学习,希望能帮助到大家
这篇文章主要介绍了 JavaScript 与 TypeScript之间的联系,JavaScript,也称为 JS,是一种符合 ECMAScript 规范的编程语言。这是一个高级别的、通常是即时编译的、多范式的。TypeScript 是一种强类型、面向对象的编译语言,更多消息内容,需要的朋友可以参考一下下面文章内容
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008