emqx 5.0 支持ssl

阿里云网上直接购买的域名证书,只有 域名.key 和 域名.pem文件,跟/etc/emqx/emqx.conf 里面的配置

keyfile = “/etc/emqx/certs/key.pem”

certfile = “/etc/emqx/certs/cert.pem”

cacertfile = “/etc/emqx/certs/cacert.pem”

三个完全不一样,这个应该怎么配置?

你这个不是自签名,所以不需要 CA 证书,keyfile 对应的就是你的 x.key, certfile 对应的就是 x.pem。
你可以把文件存到本地,或者通过 dashboard 进行上传

只需要修改/etc/emqx/emqx.conf文件下面的吗?
listeners.ssl.default {
bind = “0.0.0.0:8883”
max_connections = 512000
ssl_options {
keyfile = “/etc/emqx/certs/x.key”
certfile = “/etc/emqx/certs/x.pem”
verify = verify_none
}
}

另外,我apt-get install安装的是应该是开源版本,dashboard 上面并没有看见开启SSL认证的入口 ? 是因为版本不一样吗?

不建议直接修改 emqx.conf,尽量通过 dashboard 操作。开源版的 dashboard 也是一样的,你在在监听器的设置页面找找。

我在dashboard 上操作了,切换了A.key和A.pem, 然后再连接的时候还是不行。tcpdump 查看发现ssl 握手的时候,客户端发送了一个tslv1的 hello 报文后,服务端就断开了。我的服务器是Ubuntu 20,后面换成了18也不行。 是不是还有其他地方需要操作? 我的客户端代码是单项连接的(连接测试的公共服务器没有问题)。

有 EMQX 的日志么

你将 EMQX 的 日志等级设置为 debug,然后重新进行连接,这时应该会打印详细的连接信息,麻烦提供下这份信息

已经解决,应该是测试的PC跟服务器的TLS 协议不匹配问题。