我正在尝试在 Amazon EC2、Ubuntu 18 服务器上配置对我的 mosquitto 桥接器的 SSL 访问。我按照mosquitto tls 文档中描述的步骤操作,最终得到以下文件:
- ca.crt
- 密钥
- ca.srl
- 客户端.crt
- 客户端.csr
- 客户端密钥
- 服务器.crt
- 服务器.csr
- 服务器密钥
在临时目录中。
然后我复制了三个文件:
sudo cp ca.crt /etc/mosquitto/ca_certificates/
sudo cp server.key /etc/mosquitto/certs/
sudo cp server.crt /etc/mosquitto/certs/
然后我将以下部分添加到配置文件中:
listener 8883
cafile /etc/mosquitto/ca_certificates/ca.crt
keyfile /etc/mosquitto/certs/server.key
certfile /etc/mosquitto/certs/server.crt
然后我想重启mosquitto:
sudo service mosquitto restart
这不起作用并响应
> Job for mosquitto.service failed because the control process exited with error code.
> See "systemctl status mosquitto.service" and "journalctl -xe" for details.
我都试过了,只有信息,配置错误。
我尝试注释掉不同的行,下面的结构让我们重新启动服务:
listener 8883
cafile /etc/mosquitto/ca_certificates/ca.crt
keyfile /etc/mosquitto/certs/server.key
#certfile /etc/mosquitto/certs/server.crt
不幸的是,证书文件是配置工作所必需的。我检查了示例配置和文档,证书文件是合法且必需的参数。
我该如何解决这个问题?