sockjs-node报错的解决办法:1、在nginx上对9097端口进行配置;2、让“/sockjs-node”能够正常代理到本机实际端口上即可。
创新互联专业为企业提供永福网站建设、永福做网站、永福网站设计、永福网站制作等企业网站建设、网页设计与制作、永福企业网站模板建站服务,10年永福做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
本文操作环境: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反向代理没有任何差别。 roxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; 这里面的关键部分在于HTTP的请求中多了如下头部: Upgrade: websocket Connection: Upgrade 这两个字段表示请求服务器升级协议为WebSocket。
结语实际情况中,/sockjs-node报错原因可能有很多,还可能是shadowsock代理、nodejs配置等,只要了解问题本质,正确的让ws访问到本地实际的地址即可。
推荐学习:《nodejs视频教程》
文章题目:如何解决sockjs-node报错问题
链接地址:https://www.cdcxhl.com/article30/cppopo.html
成都网站建设公司_创新互联,为您提供全网营销推广、网站制作、网站排名、云服务器、品牌网站建设、软件开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联