当前位置:首页 » 《随便一记》 » 正文

websocket创建时附加额外信息 [如自定义headers信息(利用nginx)]

9 人参与  2023年05月01日 08:01  分类 : 《随便一记》  评论

点击全文阅读


目录

情景描述:

解决方案

一、服务端要求前端创建websocket时附带的token,必须放在request的headers中(常出现在第三方的合作中);

 思路:

 整体效果:

 具体步骤:

二、服务端只需要获取到token,不介意前端在创建时怎么传的

思路:

整体效果:

具体实现:


情景描述:

前端创建websocket的时候,服务端需要在创建时能获取到token作判断,所以在前端创建websocket的时候,需要把token一起传到服务器

解决方案

一、服务端要求前端创建websocket时附带的token,必须放在request的headers中(常出现在第三方的合作中);

 思路:

前端创建websocket后,利用nginx做代理,将token加在headers中,发送给服务端

 整体效果:

前端创建websocket请求时,发送的token,在服务端的headers获取到了

 具体步骤:

         1、前端代码 ,发送websocket,将token放到url后面

 2、nginx配置,注意开启websocket的代理,$arg_XXX获取到url后的参数    

3、node代码,本例中用的是node做服务端的,ws.upgradeReq.headers获取到headers信息

 

二、服务端只需要获取到token,不介意前端在创建时怎么传的

思路:

利用websocket实例化时的第二个参数传递token。(第二个参数的用法请百度自行搜索)

整体效果:

前端创建websocket请求时,发送的token,在服务端的同样获取到了

具体实现:

1、前端代码

2、服务端代码

注意:ws.upgradeReq.headers["sec-websocket-protocol"]获取到子协议,本例是用node做服务实现的,服务端语言不同,可能获取子协议的方法不同,自行百度

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/60178.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1