EMQ X 内置对 TLS/DTLS 的支持,包括支持单双向认证、X.509 证书等多种身份认证和 LB Proxy Protocol V1/2 等。你可以为 EMQ X 支持的所有协议启用 TLS/DTLS,也可以将 EMQ X 提供的 HTTP API 配置为使用 TLS。本文以自签证书的方式介绍如何在 EMQ X 中为 MQTT 启用 TLS。
查看证书
查看证书
创建 Root CA 自签名证书的步骤与前文一致,不再赘述。
与前文类似,只不过需要将 Root CA 的信息替换成 Second CA 的。最后我们将得到以下文件:
Note: Client 既可以使用 root-cacert.pem 与 second-cacert.pem 合并后的 cacert.pem ,也可以使用 second-cacert.pem 。
假设你已经成功安装了 EMQ X,我们将之前生成的证书一并拷贝到 emqx/etc/certs 目录下:
然后修改 emqx.conf 配置如下:
启动 EMQ X 并将日志等级改为 Debug。
使用 openssl s_client 连接 EMQ X 并发送一个 Client ID 为 "a" 的 MQTT Connect 报文。
如果你在 emqx/log/erlang.log.1 中看到以下日志,说明 SSL 认证成功。
EMQ X 继续保持运行,编译并启动 emqtt 。
连接建立成功,可以正常订阅发布,SSL 单向认证测试通过。
EMQ X 继续保持运行,启动 mqtt.fx,参照下图完成配置:
**Note: **这里只能使用 second-cacert.pem 作为 CA Certificate。
点击 Connect 按钮,连接成功,并且可以正常订阅发布,SSL 双向认证通过。
修改 emqx.conf 配置如下:
启动 EMQ X 并将日志等级改为 Debug。
使用 openssl s_client 连接 EMQ X 并发送一个 Client ID 为 "a" 的 MQTT Connect 报文。
如果你在 emqx/log/erlang.log.1 中看到以下日志,说明 SSL 双向认证成功。
EMQ X 继续保持运行,启动 emqtt 。
连接建立成功,可以正常订阅发布,SSL 双向认证测试通过。
EMQ X 继续保持运行,启动 mqtt.fx,参照下图完成配置:
Note: CA File 可以使用 root-cacert.pem 与 second-cacert.pem 合并后的 cacert.pem ,也可以使用 second-cacert.pem 。
点击 Connect 按钮,连接成功,并且可以正常订阅发布,SSL 双向认证通过。
配置参考如下:每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。包括普通HTTPS请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile)和WebSocket通信(wx.connectSocket)。
服务器域名请在「小程序后台-开发-开发设置-服务器域名」中进行配置。
配置时需要注意:域名只支持https(wx.request、wx.uploadFile、wx.downloadFile)和wss(wx.connectSocket)协议。
域名不能使用IP地址(小程序的局域网IP除外)或localhost。
可以配置端口,如https://myserver.com:8080,但是配置后只能向https://myserver.com:8080发起请求。如果向https://myserver.com、https://myserver.com:9091等URL请求则会失败。
如果不配置端口,如https://myserver.com,那么请求的URL中也不能包含端口,甚至是默认的443端口也不可以。如果向https://myserver.com:443请求则会失败。
域名必须经过ICP备案;出于安全考虑,api.weixin.qq.com不能被配置为服务器域名,相关API也不能在小程序内调用。开发者应将AppSecret保存到后台服务器中,通过服务器使用getAccessToken接口获取access_token,并调用相关API。
对于每个接口,分别可以配置最多20个域名。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)