使用mqtt+ssl加密 WebSocket 客户端连接 MQTT 服务器以及ws+wss协议
上篇用TLS/SSL保证EMQ的网络传输安全讲了使用自签ca加密MQTT传输数据,如果mqtt用在web端,如何使用ssl、tsl加密?
1、web客户端
// 引入mqtt.min.js
// 将在全局初始化一个 mqtt 变量
//console.log(mqtt); // 连接选项
const options = {
connectTimeout: 4000, // 超时时间
// 认证信息
username: 'xiaoming',
password: '123456', }; // ws是普通通讯,端口8083;wss是加密通讯,必须用域名连接,端口是8084
// const client = mqtt.connect('ws://192.168.0.43:8083/mqtt', options);
const client = mqtt.connect('wss://www.test.com:8084/mqtt', options); // client.
client.on('connect', (error) => {
console.log('链接成功:', error)
});
client.on('reconnect', (error) => {
console.log('正在重连:', error)
}); client.on('error', (error) => {
console.log('连接失败:', error)
}); // 订阅列表
client.subscribe('pub', { qos: 2 });
// 监听接收消息事件
client.on('message', (topic, message) => {
// console.log('收到来自', topic, '的消息', message.toString()); });
2、EMQX服务端修改配置文件./emqx/etc/emqx.conf
## See: listener.ssl.$name.keyfile
##
## Value: File
listener.wss.external.keyfile = etc/certs/MyEMQ1.key
## listener.wss.external.keyfile = etc/certs/emqx.key ## Path to a file containing the user certificate.
##
## See: listener.ssl.$name.certfile
##
## Value: File
listener.wss.external.certfile = etc/certs/MyEMQ1.pem
## listener.wss.external.certfile = etc/certs/emqx.pem ## Path to the file containing PEM-encoded CA certificates.
##
## See: listener.ssl.$name.cacert
##
## Value: File
listener.wss.external.cacertfile = etc/certs/MyRootCA.pem
## listener.wss.external.cacertfile = etc/certs/my_root_ca.pem
3、注意:把之前生成的ca根证书安装到本地计算机和浏览器上,重启浏览器即可使用ssl加密连接web客户端和EMQX服务器
参考:https://www.jianshu.com/p/4fd95cae1a9c
使用mqtt+ssl加密 WebSocket 客户端连接 MQTT 服务器以及ws+wss协议的更多相关文章
- 使用 WebSocket 客户端连接 MQTT 服务器
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...
- redis客户端连接到服务器的步骤
和大多数客户端连接到服务器一样,redis-cli连接到服务器也主要分为两个阶段,请求连接阶段和数据传送阶段.具体来讲redis-cli做的事情有: 1.以socket方式建立连接: 2,选择相应的数 ...
- ESA2GJK1DH1K升级篇: 远程升级准备工作: 使用TCP客户端连接Web服务器实现http下载数据
一,根目录建一个文件 二,使用浏览器访问 http://47.92.31.46:80/1.txt 或者 http://47.92.31.46/1.txt 三,使用TCP客户端访问文件内容 3 ...
- 7.MQTT网页客户端连接MQTT服务器的问题WebSocket connection to 'ws://XXX:1883/' failed: Connection closed before receiving a handshake response
问题描述:MQTT.js提供了连接MQTT的一套javascipt的方法,可供前端连接到MQTT服务器,也可以作为脚本测试.以脚本形式,用nodejs运行,是没有问题的,能够正常连接并且发送报文.但是 ...
- python websocket 客户端连接
# -*- coding: utf-8 -*-import jsonimport websocketimport _thread as thread # try:# import thread# ex ...
- 修改客户端连接的服务器IP地址(内部使用)
登录系统时如果出现 “验证失败”,或者,无法登陆系统,请修改服务器端IP地址,修改方法如下: 注意: (1)修改服务器端IP地址时,要提前关闭/退出客户端.建议也看看“Windows的任务管理器”中是 ...
- 局域网内sqldeveloper客户端连接oracle服务器
1:输入参数 输入连接名(随便写) 用户名:system/tiger/sys或者是创建的用户 口令:设置的口令 主机名:连接的数据库所在的ip 端口:默认是1521 sid:orcl安装时自己设置的 ...
- loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)
第一部分: #include "lrs.h" vuser_init(){ lrs_startup(257); return 0;} 第二部分: Action(){ char *Re ...
- FileZilla 客户端连接 FlieZilla 服务器 连接成功读取目录列表却失败的解决办法
解决过程: 第一步: 第二步:
随机推荐
- PentestBOX教程
0x01 Pentest BOX Pentest Box:渗透测试盒子,是一款Windows平台下预配置的便携式开源渗透测试环境,而它也是著名黑客Kapustkiy常用的工具之一.这里集成的大都是Li ...
- 【C#】通过一个案例 彻底了解 Volatile和 内存屏障
案例如下的.我个人理解是不会出现出现0,0的结果,但是很明显出现了. 说明对我对 Volatile\内存屏障\乱序排序的理解是不对. 今天就通过这个案例,理清这些概念. using System; u ...
- 网络中delay和latency的区别
时序分析基本概念是Latency, 时钟传播延迟.主要指从Clock源到时序组件Clock输入端的延迟时间.它可以分为两个部分:时钟源插入延迟(source latency)和时钟网络延迟(netwo ...
- Qt:QList、QStringList
QList 0.说明 QList<T> 一个QList是存储相同类型一组数据的列表. QStringList是从QList<String>继承而来,并添加了一些好用的方法,如j ...
- deepin下安装ESP32的开发环境
deepin下安装ESP32的开发环境 本文章用于记录在deepin下安装ESP32的开发环境,前几日在CentOS7之下实现过,但CentOS7对于我这个Linux新手太不友好,于是重装deepin ...
- 【有奖调研】来,聊聊TTS音色定制这件事儿
音色个性化定制,一个能让文字转语音服务(TTS)在用户交互过程中注入温度的技术. 文能在营销及内容交付中让品牌保持一致性,武能让开发者"音"量加持,创新开发. 这个100%钢铁纯技 ...
- 查询 docker 主机的 IP 地址
在 Windows 下查询docker 主机的 IP 地址需要直接去网络中心查找虚拟机的 IP 地址,具体步骤: 进入网络中心 进入适配器更改选项 进入虚拟机 WSL 点击 属性 选中 IPv4 协议 ...
- 07 Java的方法 何谓方法
Java的方法 1.何谓方法 System.out.println(); 那么它是什么呢? System是系统的类,out是System下的一个输出对象,println()就是一个方法 类.对象.方法 ...
- LGP5279题解
这题好牛逼啊... 虽然说也是 DP 套 DP,但是感觉比 TJOI 那题高明到哪里去了( 我们先考虑如何计算期望.如果设 \(f_i\) 为拿到 \(i\) 张牌后胡的方案数,这个并不是很好做,因为 ...
- 对 Kubernetes 部署进行故障排除的视觉指南
链接:https://learnk8s.io/troubleshooting-deployments