【问题标题】:Azure Bot and Webchat: There was an error sending this message to your botAzure Bot 和 Webchat:将此消息发送到您的 bot 时出错
【发布时间】:2022-03-01 01:09:25
【问题描述】:

我创建了一个机器人,通过 GitHub 操作将其部署在 azure 上并在模拟器中进行了测试,一切正常,但是当我尝试连接“Webchat”频道时,我不断收到类似的错误

There was an error sending this message to your bot: HTTP status code GatewayTimeout
There was an error sending this message to your bot: HTTP status code Unauthorized
There was an error sending this message to your bot: HTTP status code BadGateway

但它有点随机变化,我没有改变任何东西。当然,我在配置选项卡中设置了消息传递端点(与我在模拟器中测试的相同,https://appservicename.azurewebsites.net/api/messages)并检查启用流端点。 问题是:我该如何解决这个问题,或者当错误并不总是相同时,我什至如何找到解决方案?

更新更多信息:我用基本代码制作了我的应用程序,我有我的

const adapter = new BotFrameworkAdapter({
    appId: process.env.MicrosoftAppId,
    appPassword: process.env.MicrosoftAppPassword
});

ID 在 Azure 机器人配置选项卡中获取。 密码在 App Secrets Key Vault 中创建,在 Secrets 下手动创建。

我做错了什么?

【问题讨论】:

  • 创建 Azure 机器人资源时,您是将其创建为单租户、多租户还是用户分配的托管标识?

标签: azure azure-pipelines azure-bot-service azureportal


【解决方案1】:

根据这个 MSFT documentation,如果您使用自签名证书,就会发生这种情况。

如果聊天窗口显示一个或多个错误,请单击错误以获取更多信息。最常见的问题包括:

  • 机器人的端点在模拟器设置中指定不正确。确保 URL 包含正确的端口号和 URL 末尾的正确路径。
  • 在模拟器设置中指定了以 https 开头的机器人端点。 localhost 上的端点应以 http 开头。
  • 模拟器设置中的 Microsoft 应用程序 ID 字段和/或 Microsoft 应用程序密码字段不包含有效值。两个字段都应填写,每个字段都包含相应的数据。
  • 尚未为机器人启用安全性。验证机器人配置设置是否指定了应用 ID 和密码的值。

另外,尝试修改应用服务的协议设置。如果您使用 Bot Composer 部署您的机器人,您会注意到资源组中有两个应用服务:一个带有“qna”后缀,另一个没有。选择不以'qna'结尾的那个。

Select the App Service --> TLS/SSL settings --> HTTPS Only --> On

参考资料 - Ref1Ref2Ref3

【讨论】:

  • 已经尝试过 TLS/SSL 设置我使用基本代码创建了我的应用程序,我的 const adapter = new BotFrameworkAdapter({ appId: process.env.MicrosoftAppId, appPassword: process.env.MicrosoftAppPassword }); ID 是在 Azure Bot 配置选项卡中使用的,密码是在 App Secrets Key Vault 中创建的,在 Secrets 下手动创建。我做错了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
相关资源
最近更新 更多