# 配置说明

# 简介

NanoMQ 的配置文件通常以 .conf 作为后缀名,你可以在 etc 目录找到这些配置文件,主要配置文件包括:

配置文件说明
etc/nanomq.confNanoMQ 配置文件
etc/nanomq_bridge.confNanoMQ桥接配置文件
etc/nanomq_auth_username.confNanoMQ用户密码配置文件
etc/nanomq_web_hook.confNanoMQ WebHook配置文件

# 参数说明

# nanomq.conf

参数名数据类型参数说明
urlString监听url。
num_taskq_threadInteger任务线程数。
max_taskq_threadInteger最大任务线程数。
parallelLong并行数。
property_sizeInteger最大属性长度。
msq_lenInteger队列长度。
qos_durationIntegerQOS消息定时间隔时间。
allow_anonymousBoolean允许匿名登录。
tls.enableBoolean启动TLS监听(默认false)。
tls.urlStringTLS监听URL。
tls.keyStringTLS私钥数据。
tls.keypassStringTLS私钥密码。
tls.certStringTLS Cert证书数据。
tls.cacertStringTLS CA证书数据。
tls.verify_peerBoolean验证客户端证书。
tls.fail_if_no_peer_certBoolean拒绝无证书连接,与tls.verify_peer配合使用。
websocket.enableBoolean启动websocket监听(默认true)。
websocket.urlStringWebsocket监听URL。
websocket.tls_urlStringTLS over Websocket监听URL。
http_server.enableBoolean启动Http服务监听(默认false)。
http_server.portIntegerHttp服务端监听端口。
http_server.usernameString访问Http服务用户名。
http_server.passwordString访问Http服务密码。
http_server.auth_typeEnumHttp鉴权方式。(默认 basic
http_server.jwt.public.keyfileStringJWT 公钥文件.
http_server.jwt.private.keyfileStringJWT 私钥文件.

# nanomq_bridge.conf

参数名数据类型参数说明
bridge.mqtt.bridge_modeBoolean启动桥接功能(默认false不启用)。
bridge.mqtt.addressString桥接目标broker地址URL。
bridge.mqtt.proto_verString桥接客户端MQTT版本(3|4|5)。
bridge.mqtt.clientidString桥接客户端ID(默认NULL为自动生成随机ID)。
bridge.mqtt.keepaliveInteger保活间隔时间。
bridge.mqtt.clean_startBoolean清除会话。
bridge.mqtt.parallelLong桥接客户端并发数。
bridge.mqtt.usernameString登录用户名。
bridge.mqtt.passwordString登录密码。
bridge.mqtt.forwardsArray[String]转发Topic数组, 使用逗号,分隔多个Topic
bridge.mqtt.subscription.1.topicString第1个订阅Topic
bridge.mqtt.subscription.1.qosInteger第1个订阅Qos
bridge.mqtt.subscription.2.topicString第2个(以此类推)订阅Topic
bridge.mqtt.subscription.2.qosInteger第2个(以此类推)订阅Qos

# nanomq_auth_username.conf

参数名数据类型参数说明
auth.1.loginString第1个登录用户名。
auth.1.passwordString第1个登录密码。
auth.2.loginString第2个(以此类推)登录用户名。
auth.2.passwordString第2个(以此类推)登录密码。

# nanomq_web_hook.conf

参数名数据类型参数说明
web.hook.enableBoolean启动WebHook (默认: false)
web.hook.urlStringWebhook URL
web.hook.headers.<Any>StringHTTP Headers
Example:
1. web.hook.headers.content-type=application/json
2. web.hook.headers.accept=*
web.hook.body.encoding_of_payload_fieldEnumPayload编码方式
Options:
plain | base64 | base62
web.hook.ssl.cacertfileStringTLS CA证书文件.
web.hook.ssl.certfileStringTLS Cert证书文件
web.hook.ssl.keyfileStringTLS 私钥文件.
web.hook.ssl.verifyBoolean验证客户端证书。 (默认: false).
web.hook.ssl.server_name_indicationBoolean验证服务端名 (默认: false).
web.hook.pool_sizeInteger连接池大小 (默认: 32).
web.hook.rule.client.connack.<No>String示例:
web.hook.rule.client.connack.1={"action": "on_client_connack"}
web.hook.rule.client.disconnected.<No>String示例:
web.hook.rule.client.disconnected.1={"action": "on_client_disconnected"}
web.hook.rule.message.publish.<No>String示例:
web.hook.rule.message.publish.1={"action": "on_message_publish"}
web.hook.rule.message.publish.1={"action": "on_message_publish", "topic": "topic/1/2"}
web.hook.rule.message.publish.2 = {"action": "on_message_publish", "topic": "foo/#"}

# nanomq_gateway.conf

参数名数据类型参数说明
gateway.addressString远端 Broker 地址。
gateway.proto_verStringMQTT 客户端版本(3|4|5)。
gateway.clientidStringMQTT 客户端标识符。
gateway.keepaliveInteger保活间隔时间。
gateway.clean_startBoolean清除会话标志。
gateway.parallelLong并行的 mqtt 客户端数量。
gateway.usernameString登陆的用户名。
gateway.passwordString登陆的密码。
gateway.forwardString转发的主题。
gateway.mqtt.subscription.topicString订阅的 Mqtt 主题。
gateway.mqtt.subscription.qosInteger订阅的 Mqtt 服务级别。
gateway.zmq.sub.addressString远端的 ZMQ 服务订阅地址。
gateway.zmq.pub.addressString远端的 ZMQ 服务发布地址。
gateway.zmq.sub_prefixString远端的 ZMQ 服务订阅前缀。
gateway.zmq.pub_prefixString远端的 ZMQ 服务发布前缀。