如何在Bot Framework Composer外运行Bot项目 支持Nginx部署吗
问题解答
可行性结论
完全可以,Microsoft Bot Framework Composer 创建的 Bot 项目支持导出为独立运行的代码,可部署在 Nginx 后端作为反向代理服务运行,无需依赖 Composer 环境。
具体操作流程
- 导出项目源码
打开 Composer 内的目标 Bot 项目,点击顶部导出按钮,选择对应运行时(.NET 或 Node.js)导出即可,得到的是完整的可独立运行的项目文件,内置所有 Bot 逻辑和依赖配置。 - 本地验证运行
先在本地完成服务启动测试:- 若导出为.NET 项目,安装对应版本.NET SDK 后,在项目根目录执行
dotnet run即可启动,默认监听 3978 端口 - 若导出为 Node.js 项目,执行
npm install安装依赖后,执行npm start启动服务
本地调用接口确认功能正常后,再上传到服务器部署。
- 若导出为.NET 项目,安装对应版本.NET SDK 后,在项目根目录执行
- Nginx 反向代理配置
服务器上启动 Bot 服务后,添加如下 Nginx 配置即可对外提供服务:
修改完成后执行server { listen 80; server_name 你实际使用的域名; # Bot核心请求路径 location /api/messages { proxy_pass http://127.0.0.1:3978; # 替换为你实际的Bot服务监听地址 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 适配Bot长连接要求调整超时时间 proxy_connect_timeout 3600s; proxy_send_timeout 3600s; proxy_read_timeout 3600s; } }nginx -s reload重载配置即可生效。
生产环境注意事项
- 建议为 Bot 服务配置进程守护(.NET 可使用 systemd,Node.js 可使用 PM2),避免服务意外中断
- 若需要对接 Bot 通道,需要在对应的通道配置页将消息端点修改为你对外暴露的
https://你的域名/api/messages地址 - 生产环境建议配置 SSL 证书开启 HTTPS 访问,满足 Bot Framework 的安全校验要求
内容的提问来源于stack exchange,提问作者Jaime
相关产品推荐
相关产品推荐

