EMQ X 服务器 SSL/TLS 安全连接配置指南

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EMQ X 服务器 SSL/TLS 安全连接配置指南相关的知识,希望对你有一定的参考价值。

参考技术A

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 双向认证通过。

以上是关于EMQ X 服务器 SSL/TLS 安全连接配置指南的主要内容,如果未能解决你的问题,请参考以下文章

SSL与TLS原理(未完成)

SSL与TLS原理(未完成)

通过post传参访问https时,总是出现未能建立 SSL/TLS 的安全通道

如何使用 TLS/SSL 确保 WebSocket 连接的安全

如何使用 TLS/SSL 确保 WebSocket 连接的安全

testssl.sh--检查 SSL/TLS 服务器的加密