You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署至Azure的Microsoft Bot无法正常运行求助

问题描述

我按照微软官方教程将基础echo bot发布至Azure,部署成功后获取了公网域名的messaging endpoint,本地用Bot Framework Emulator测试完全正常,部署后未修改代码,但出现以下问题:

  • Web Chat测试时,机器人显示已连接,但发送消息无响应
    Web Chat测试无响应
  • 访问完整的messaging endpoint(带/api/messages路径)时出现异常
    messaging endpoint访问异常
  • 移除/api/messages后访问同一URL,显示正常页面
    移除路径后访问正常
  • 机器人的Channels面板显示存在“问题”,但无具体错误码
    Channels面板显示问题
排查与解决步骤

1. 验证Messaging Endpoint配置

  • 确认Azure Bot资源中设置的messaging endpoint,是否与App Service的公网URL + /api/messages完全一致,注意检查大小写、斜杠等细节
  • 查看App Service的运行状态,确保应用处于“运行中”状态

2. 检查身份验证配置

  • 核对Azure Bot资源的Microsoft App ID和App Password,是否与代码中(如.env文件)的MicrosoftAppId、MicrosoftAppPassword完全匹配
  • 确认App Service的“配置”→“应用程序设置”中,是否已正确添加这两个环境变量,且值无拼写错误

3. 查看应用日志定位错误

  • 进入App Service的“日志”面板,开启“应用日志”,通过“实时日志流”或下载日志文件,查看是否有请求到达/api/messages路径,以及具体的报错信息(如身份验证失败、路由未找到等)
  • 在Azure Bot的“测试在Web Chat”中发送消息,同时查看App Service日志,追踪请求处理过程

4. 确认代码路由正确性

  • 检查代码中是否正确注册了/api/messages路由,比如Node.js的echo bot需确保存在类似以下代码:
    server.post('/api/messages', (req, res) => {
      adapter.processActivity(req, res, async (context) => {
        await bot.run(context);
      });
    });
    
  • 确保代码中未硬写端口号,Azure App Service默认使用80/443端口,无需手动指定

5. 修复Channels连接问题

  • 在Azure Bot的Channels面板中,删除Web Chat渠道后重新添加,尝试恢复连接
  • 点击Azure Bot资源“概述”面板中的“测试连接”按钮,获取具体的连接错误提示

内容的提问来源于stack exchange,提问作者peter oehman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:27:26