有部分用户在开发测试的环境中运行都没问题,但在部分生产服务器、docker
等环境中mqtt
连接可能会出现ssl证书错误等问题,可能的原因就是运行环境中没有安装证书相关依赖,这是就需要现在docker
环境中安装类似ca-certificates
的证书依赖软件,然后通过环境变量指定证书所在文件夹。
以Ubuntu
系统的镜像为例:
apt-get update
apt-get install -y ca-certificates
可以将以下环境变量添加到容器中以指定 SSL 证书的位置:
在 Ubuntu
容器中,可以将以下环境变量添加到 Dockerfile
中:
ENV SSL_CERT_DIR=/etc/ssl/certs
可以尝试将CA机构的根证书 Digicert-OV-DV-root.cer 直接安装导入到运行环境中,具体安装方式参考实际使用的操作系统环境。
检查当前程序运行环境是否支持TLS 1.2。
Windows 支持 TLS 1.2 的最低版本如下
Linux 系统中,支持 TLS 1.2