Windows 11环境下mosquitto-go-auth部署配置求助
Windows 11 部署 mosquitto-go-auth 分步指南
一、前置准备
- 安装 Go 1.18+:安装时务必勾选"Add Go to PATH",验证安装:执行
go version,能正常输出版本号即成功 - 安装 MinGW-w64:选择对应系统位数(64位选x86_64架构),将
mingw64/bin路径添加到系统环境变量PATH,验证:执行gcc --version,输出版本信息即成功 - 安装 Mosquitto Windows版:下载包含开发组件的安装包(或安装时勾选"Development Files"选项),记录安装路径(默认如
C:\Program Files\Mosquitto) - 克隆仓库:执行
git clone https://github.com/iegomez/mosquitto-go-auth.git,将代码拉取到本地目录
二、编译 mosquitto-go-auth 动态库
- 进入仓库目录:
cd mosquitto-go-auth - 执行编译命令生成Windows兼容的动态链接库:
编译完成后,当前目录会生成go build -buildmode=c-shared -o mosquitto-go-auth.dllmosquitto-go-auth.dll和mosquitto-go-auth.h两个文件
三、配置 Mosquitto
- 找到Mosquitto的配置文件,默认路径为安装目录下的
mosquitto.conf(如C:\Program Files\Mosquitto\mosquitto.conf) - 打开配置文件,添加以下配置(路径统一用正斜杠
/或双反斜杠\\,避免含空格的路径):# 启用认证插件 plugin c:/path/to/mosquitto-go-auth.dll # 指定认证后端(以文件认证为例,可按需切换为其他后端) plugin_opt_auth_backends file # 密码文件路径(需提前创建,格式参考项目文档) plugin_opt_file_path c:/path/to/passwords.txt # 正式环境建议关闭匿名访问 allow_anonymous false- 密码文件生成:使用Mosquitto自带工具
mosquitto_passwd.exe,命令示例:mosquitto_passwd -c c:/path/to/passwords.txt your_username,按提示输入密码即可生成加密后的用户条目
- 密码文件生成:使用Mosquitto自带工具
四、启动验证
- 打开命令提示符,进入Mosquitto安装目录:
cd "C:\Program Files\Mosquitto" - 启动Mosquitto并加载配置:
mosquitto.exe -c mosquitto.conf - 测试认证:打开另一个命令提示符,执行发布命令(替换为你的用户名和密码):
若能成功发布消息,说明认证配置生效mosquitto_pub.exe -h localhost -t "test/topic" -m "auth test" -u "your_username" -P "your_password"
常见问题排查
- 编译失败:检查MinGW是否添加到PATH、Go版本是否符合要求、仓库依赖是否完整
- Mosquitto启动报错:确认plugin路径正确、dll文件存在、密码文件权限正常
- 认证失败:核对密码文件格式、用户名密码是否匹配、
allow_anonymous是否设置为false
内容的提问来源于stack exchange,提问作者SCG creek
相关产品推荐
相关产品推荐

