2021.3.27,在写不要做微信小程序挑战后端部署时,因微信小程序需要开发者提供 wss,类似于 http + ssl,但是后端没有考虑到nodejs-websocket 在网络上相关教程之少,陷于 wss 的配置之中。

起初考虑通过 nginx 代理一手,但可能姿势不对,一直无法代理成功,nginx不熟,所以在一通搞鼓之后,放弃了nginx方案。接着是考虑更换 nodejs 的 socket 框架。主流的 websocket 是 ws 模块和 socket.io 模块,但是仔细看了一下具体业务需求:

const server = ws.createServer(options, (connect) => {let room = ""let myId = ""connect.on("text", (string) => {...})connect.on("close", () => {...}) connect.on("error", (error) => {...})
}.listen(3333, "127.0.0.1", () => {console.log("running...");
})

就会发现,我给每个 connect 都分配了两个变量,room、myId。这在 socketio 和 ws 都较难实现的(虽然可以,但代码量明显超于nodejs-websocket),所以懒得复刻代码了。

最终回到 nodejs-websocket 本身,我想这个库应该是有方法的,只是鲜为人知而已,最终在 github 搜索的时候偶然看到官方的案例:

可知,通过配置 options 可以传入 key 和 crt,没想到 secure 是这么用的,起初通过浅浅地看过源码,还以为是特殊的对象,吐了一口老血,因为没有看到 key 和 crt 的键值设置。

此处注意 SSL 文件的格式,以我 ucloud 云服务器为例,我下载下来的文件分别是:private.key,ca.crt,public.crt。发现文件后缀格式都不是 pem 结尾的,那是不是可以直接修改后缀格式呢?

修改是可以修改的,只是不建议 F2 直接修改(经我测试这种方式行不通),百度后发现需要 openssl 来进行修改。

以 ubuntu 为例(因为我要部署到 ubuntu 上):

sudo apt-get install openssl
sudo apt-get install libssl-dev
openssl x509 -in ca.crt -out ca.pem -outform pem
openssl rsa -in private.key -out private.pem

即可修改文件格式了。

想了解我更多的文章,欢迎来我的个人博客参观(菜鸡一枚,勿喷)。

Talk is cheap, show me the code —— 薪火工作室箴言

散是满天星,聚是兴薪之火。

关于 nodejs-websocket 的 wss 设置相关推荐

  1. nodejs websocket 实现简易聊天室功能

    文章目录 1. 服务端 app.js 代码 2. 客户端 app.html 代码 3. 样式代码 app.css 4. nodemon 辅助开发 首先说明,以下代码都是基于 Nodejs+webSoc ...

  2. WebSocket连接wss链接

    参考链接:http://www.juliankrone.com/connect-and-transfer-data-with-secure-websockets-in-android/ WebSock ...

  3. Websocket实现wss协议连接支持语音聊天功能

    部署单页应用 SPA 时,我们通常使用 Nginx 做中间层进行转发代理.为了保护 Web 安全,要求我们使用 HTTPS(HTTP + SSL) 以及 WSS(Websocket + SSL) 进行 ...

  4. 详细nginx配置websocket的wss协议

    需求: 小程序连接websocket,必须使用wss协议 nginx配置websocket以及wss协议 其实wss协议就是使用了ssl协议的域名所自带的协议,所以wss协议需要域名来进行socket ...

  5. Nodejs+webSocket搭建多人聊天室

    NodeJs+webSocket搭建多人聊天室 准备的东西: 第一步:安装插件并且完善服务端 第二步 :搭建客户端并与服务端的通信 第三步 :添加CSS样式 第四步:总结 今天花了一个上午的时间去学习 ...

  6. nodejs项目_多人群聊实现其实很简单:Nodejs+WebSocket+Vue轻松实现Web IM

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 在<Nodejs + WebSocket简单介绍及示例 - 第一章>中简单的介绍了,Nodejs + WebS ...

  7. Vue2 + Nodejs + WebSocket 完成你画我猜多人在线游戏

    使用 websocket + vue2 即可完成一个很有意思的在线游戏作品. 你画我猜,相信大家对这个游戏都很熟悉. 我用Vue2 + mint-ui + nodejs + websocket 实现了 ...

  8. NodeJS 中的mongoDB设置指定字段的隐藏,查询的时候强制显示指定隐藏的字段

    NodeJS 中的mongoDB设置指定字段的隐藏,查询的时候强制显示指定隐藏的字段 这里使用的是基于RESTful API的规范创建的请求地址 在Schema创建用户的时候可以使用select:fa ...

  9. php reactphp wss_swoole 使用websocket建立wss连接

    wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL).  ws一般默认是80端口,而wss默认是443端口,大多数网站用的就是80 ...

最新文章

  1. 英特尔史上最大收购!英特尔拟300亿美元收购GF,审批成关键!
  2. 题目1008:最短路径问题
  3. Linux下将文件打包、压缩并分割成指定大小
  4. C# 基础知识 (五).变量类型和字符串处理
  5. Looking Back 2018
  6. 5数之和python_Python基本语法5:数字和列表,基础,五
  7. Django中加载static无法成功的解决方法
  8. 如何在ViewModel中正确地使用Timer(定时器)
  9. 雨棚板弹性法计算简图_钢结构雨篷图纸计算书
  10. TFTP 简单文件传输协议 简介
  11. 分析思维模型:SPACE 矩阵
  12. FileUriExposedException异常:file://与content://
  13. 鸡汤来了,成为数据分析师的快速指南
  14. c#录音和放音,超简单!不用DirectX
  15. python爬虫进程和线程的区别_熬了两个通宵写的!终于把多线程和多进程彻底讲明白了!...
  16. OptiView® XG 网络分析平板电脑特性(上)
  17. 工程伦理慕课答案(带题目供复习)
  18. java中double与Double的区别
  19. Ethereum price history analysis to usd
  20. TIA Portal(博途)弹出安装重启窗口的解决方法

热门文章

  1. 编写函数求2!+4!+6!+8!+10!。结果为3669866。
  2. 安装免费360随身wifi一键创建WiFi热点让电脑与手机共享wifi无线网
  3. bit、Byte、bps、Bps、pps单位详解
  4. 软件腐化的七个特征之牢固性和粘滞性(设计模式原则的反面) (《敏捷软件开发》读书总结第二篇)
  5. win11恢复旧版右键菜单
  6. 茶学领域如何用的上计算机,优秀茶学论文参考文献 茶学专著类参考文献哪里找...
  7. 西安市中考计算机技术,2021年西安市中考信息技术练习题(三)
  8. 国外经典幽默漫画和笑话集
  9. APP内如何打开某个应用的App Store下载页面
  10. 人脸核身 微信h5_微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)...