参考资料

  1. Vaultwarden 是 Bitwarden 密码管理器的轻量级
  2. Elixir 是一种基于 Erlang 虚拟机的函数式编程语言
  3. Known 是一个开源的内容发布平台
  4. spiped(Secure Pipe Daemon)是一个用于创建加密管道的工具
  5. Docker 是一个开源的应用容器引擎
  6. Docker的核心概念
  7. YOURLS (Your Own URL Shortener) 是一个开源的PHP程序,允许用户创建和管理自定义短链接
  8. Traefik 是一个现代化的反向代理和负载均衡工具

Eclipse Mosquitto 简介

Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker),轻量级且支持 MQTT 协议 v3.1、v3.1.1 和 v5.0。适用于物联网(IoT)场景。

特点

  1. 轻量高效:低资源占用,适合嵌入式设备。

  2. 协议支持:完整兼容 MQTT v3.1、v3.1.1 和 v5.0。

  3. 跨平台:支持 Linux、Windows、macOS 等。

  4. 安全功能:支持 TLS/SSL 加密、客户端认证(PSK、X.509)。

  5. 插件系统:支持动态模块扩展(如认证、日志)。

  6. 持久化:支持消息保留(Retain)和持久会话。

最新更新内容及时间

  • 最新版本:2.0.18(截至 2023 年 10 月)

    • 修复内存泄漏问题。

    • 优化 WebSocket 连接处理。

    • 更新 OpenSSL 兼容性。

    • 详细更新日志:GitHub Releases

下载地址

官网地址

https://mosquitto.org/

文档地址


Docker 安装示例

docker run -d -p 1883:1883 -p 9001:9001 -v /path/to/config:/mosquitto/config -v /path/to/data:/mosquitto/data eclipse-mosquitto

YAML 配置示例(通常使用 .conf 文件)

Mosquitto 默认使用 .conf 格式,但可通过工具转换 YAML。示例等效配置:

listener:
  port: 1883
  protocol: mqtt
allow_anonymous: false
password_file: /mosquitto/config/passwd
persistence: true
persistence_location: /mosquitto/data/

实际应使用 .conf 文件(如 mosquitto.conf):

listener 1883
allow_anonymous false
password_file /mosquitto/config/passwd
persistence true
persistence_location /mosquitto/data/

常见错误及解决

  1. 端口冲突

    • 错误:Error: Address already in use

    • 解决:更换端口或停止占用进程。

  2. 认证失败

    • 错误:Connection Refused: bad user name or password

    • 解决:检查 password_file 路径及格式(使用 mosquitto_passwd 生成)。

  3. 权限问题

    • 错误:Permission denied

    • 解决:确保 /mosquitto/data/mosquitto/log 目录可写。

  4. TLS 配置错误

    • 错误:SSL/TLS handshake failed

    • 解决:检查证书路径及权限,确认 cafile/certfile/keyfile 配置。

  5. WebSocket 连接失败

    • 错误:WebSocket upgrade failed

    • 解决:配置文件中添加 listener 9001 protocol websockets

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。