modify: 消息模块
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# svfs 消息模块用的 mosquitto 配置(挂到容器的 /mosquitto/config/mosquitto.conf)。
|
||||
#
|
||||
# 默认这份是「内网匿名」:能立刻跑起来,但任何能连到 1883 的人都能收发消息,
|
||||
# 只适合内网/开发。下面另有「认证 + ACL」与「TLS」两个注释段,要用时解开,
|
||||
# 完整说明(含客户端怎么配)见 docs/mqtt-guide.md 的「二、Docker 部署 broker」。
|
||||
|
||||
# ---- 监听与放行 ------------------------------------------------------
|
||||
#
|
||||
# mosquitto 2.x 的规矩:一旦定义了 listener,allow_anonymous 的默认值就是
|
||||
# false——不显式写这一行,客户端会被直接拒连("能连上端口却连不上 broker"
|
||||
# 的典型来源)。同理,不定义 listener 时只接受 loopback 连接。
|
||||
listener 1883
|
||||
allow_anonymous true
|
||||
|
||||
# ---- 数据与日志 ------------------------------------------------------
|
||||
#
|
||||
# 本模块实际用的是 QoS 0 + clean session(见 docs/mqtt-guide.md),持久化本身
|
||||
# 帮不上什么忙;留着它只是为了以后调 QoS、用 retained 消息时不用回头改配置。
|
||||
persistence true
|
||||
persistence_location /mosquitto/data/
|
||||
|
||||
# 同时往 stdout 和文件写:compose logs 看实时,./log 留档。
|
||||
log_dest stdout
|
||||
log_dest file /mosquitto/log/mosquitto.log
|
||||
log_type all
|
||||
|
||||
# ---- 认证 + ACL(可选,生产该开) ------------------------------------
|
||||
#
|
||||
# 要开认证,按顺序做三件事:
|
||||
# 1) 造密码文件(用户名就用 svfs 的登录名,客户端默认拿它当 broker 用户名):
|
||||
# docker compose exec mqtt mosquitto_passwd -c -b /mosquitto/config/passwd alice 密码
|
||||
# docker compose exec mqtt mosquitto_passwd -b /mosquitto/config/passwd svfs-server 服务端密码
|
||||
# (-c 会覆盖已有文件,之后加用户不要再带 -c;Linux 上宿主的 config/ 目录
|
||||
# 属主不是 uid 1883 时会写不进去,先 sudo chown -R 1883:1883 config)
|
||||
# 2) 客户端侧准备 broker 密码:它的默认值是**登录 token**,和这里的静态密码
|
||||
# 对不上,连接会被拒(CONNACK code=4/5)。两条路:
|
||||
# * 在客户端 settings.json 里写 mqtt_password(见 docs/mqtt-guide.md 三);
|
||||
# * 或由服务端在登录响应里下发 mqtt.password(推荐,用户端零配置)。
|
||||
# 3) 解开下面三行,重启容器。
|
||||
#
|
||||
# allow_anonymous false
|
||||
# password_file /mosquitto/config/passwd
|
||||
# acl_file /mosquitto/config/acl
|
||||
#
|
||||
# 注意:开了认证之后示例服务端(examples/plugin_server.py)也会连不上——
|
||||
# 它的 _mqtt_publish 不带 broker 账号,得给它加 SVFS_MQTT_USER/SVFS_MQTT_PASS
|
||||
# 的几行补丁,或让它用独立的发布账号(docs/mqtt-guide.md 有现成代码)。
|
||||
|
||||
# ---- TLS(可选) -----------------------------------------------------
|
||||
#
|
||||
# 解开这段起 8883,同时把 compose 里的 8883 端口映射打开。
|
||||
# 证书放进 config/certs/(.gitignore 已挡住),容器内路径就是 /mosquitto/config/certs/…。
|
||||
#
|
||||
# 重要:客户端只做「系统信任库 + CERT_REQUIRED」校验,没有单独的 CA 配置项
|
||||
# (设置里的 ca_bundle 只作用于 HTTP)。所以自签证书必须把 CA 装进**每台
|
||||
# 客户端的系统信任库**,否则握手一定失败——内网先用明文 1883 往往更省事。
|
||||
#
|
||||
# listener 8883
|
||||
# allow_anonymous false
|
||||
# cafile /mosquitto/config/certs/ca.crt
|
||||
# certfile /mosquitto/config/certs/server.crt
|
||||
# keyfile /mosquitto/config/certs/server.key
|
||||
Reference in New Issue
Block a user