Mosquitto MQTT服务在添加SSL配置后无法重新启动

qrjkbowd  于 2023-01-17  发布在  其他
关注(0)|答案(2)|浏览(470)

我尝试在Amazon EC2,Ubuntu 18服务器上配置SSL访问我的mofficeto bridrge,我按照mosquitto tls docs中描述的步骤操作,最后得到了以下文件:

  1. ca.crt
  2. ca.key
  3. ca.srl
  4. client.crt
  5. client.csr
  6. client.key
  7. server.crt
  8. server.csr
  9. server.key
    在临时目录中。
    然后我复制了三个文件:
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

然后我想重新启动mosquito:

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

不幸的是,certfile是配置工作所必需的。我检查了示例配置和文档,certfile是一个法律的的必需参数。
我该如何解决这个问题?

qxsslcnc

qxsslcnc1#

我正在Ubuntu服务器上运行Mosquitto。我还遇到Mosquitto在添加SSL证书和配置后无法启动。我通过Certbot工具从Let 's Encrypt获得了独立证书。

**版本信息:**Ubuntu 18.04.5 LTS,Mosquitto 2.0.4.(MQTT v5.0/v3.1.1/v3.1代理程序)和证书机器人1.11.0。

在原始配置和失败配置中,moffesto被配置为使用/etc/letsencrypt...位置中的证书。
我的解决方案是将所有证书文件从/etc/letsencrypt/archive/移动到/etc/mosquito/-文件夹中,并使mosquito配置中的相应证书文件指针指向此位置
故障排除中与问题最相关的调试可在日志文件/var/log/muctisto/muctisto. log中找到。*

  • 有关故障排除的详细信息 *

在这种情况下,玩弄 * 所有权并没有任何效果 *。无论文件和证书包含文件夹的所有者是moffesto还是root,证书在/etc/moffesto/certs文件夹中的最终配置都有效。
我还尝试不使用.../live/...的符号链接,并直接使用/etc/letsencrypt/archive/...位置中的文件进行测试,但没有成功。
我没有检查是不是某个文件导致了这个问题,只是将它们全部移走了。之后尝试从其中一个文件.. moffesto/certs进行符号链接,结果发现moffesto无法启动。要运行此服务器设置,我需要**将证书文件保存在... moffesto/certs文件夹”**中。

dwthyt8l

dwthyt8l2#

更改证书/密钥权限为我解决了这个问题。
sudo chmod 744格式. crt
sudo chmod 644随机密钥
根据此论坛:-https://github.com/owntracks/tools/issues/6

相关问题