Endpoint 配置详解
本文档详细介绍 FluxMQ 2.1.1 版本中 Endpoint 的各种配置选项和使用方法。
基础配置
端口配置
endpoint:
port: 1883 # MQTT 监听端口
useWebsocket: false # 是否启用 WebSocket 支持
path: "/mqtt" # WebSocket 路径(仅 WebSocket 模式)
端口选择建议:
- 标准 MQTT:1883(非加密)、8883(SSL/TLS)
- WebSocket MQTT:8080、8083
- 避免使用系统保留端口(< 1024)
协议配置
标准 MQTT
endpoint:
port: 1883
useWebsocket: false
# 其他配置...
WebSocket MQTT
endpoint:
port: 8080
useWebsocket: true
path: "/mqtt"
# 其他配置...
安全配置
认证配置
endpoint:
enableAuth: true # 启用客户端认证
authType: "database" # 认证类型:database, redis, http, fixed
authConfig:
# 数据库认证配置
datasource:
url: "jdbc:mysql://localhost:3306/fluxmq"
username: "root"
password: "password"
# 或 Redis 认证配置
redis:
host: "localhost"
port: 6379
password: ""
ACL 配置
endpoint:
enableAcl: true # 启用访问控制
aclType: "database" # ACL 类型:database, redis, http, config
aclConfig:
# 数据库 ACL 配置
datasource:
url: "jdbc:mysql://localhost:3306/fluxmq"
username: "root"
password: "password"
# 或配置文件 ACL
config:
rules:
- username: "admin"
allow: ["#"]
- username: "user"
allow: ["test/#"]
SSL/TLS 配置
endpoint:
sslConfig:
enabled: true # 启用 SSL/TLS
keyStorePath: "/path/to/keystore.jks"
keyStorePassword: "password"
trustStorePath: "/path/to/truststore.jks"
trustStorePassword: "password"
protocols: ["TLSv1.2", "TLSv1.3"]
cipherSuites: ["TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"]
性能配置
连接限制
endpoint:
maxConnectionSize: 1000 # 最大连接数
maxConnectionPerSecond: 100 # 每秒最大连接数
maxSessionSize: 100 # 最大会话数
exclusivePool: false # 是否使用独占连接池