0

我的 API 端点没有收到来自 Skype 机器人服务的任何信号,但是当我将代码部署到生产环境时,它与 Web 聊天一样。此 API 使用: - .net core 2.2 - Bot builder v4.5.2 - IIS 7.5 中的主机

该 API 在本地使用 ngrok 的 2 通道网络聊天和 Skype 中都可以正常工作。在本地,我看到每个代理的请求登录 iis 日志如下:

  • Skype频道:Microsoft-SkypeBotApi+(Microsoft-BotFramework/3.0)

  • 网络聊天:BF-DirectLine+(Microsoft-BotFramework/3.2++ https://botframework.com/ua )

在生产中,我只在 iis 日志中看到来自网络聊天频道的请求。我不确定生产中的防火墙,因为这是第 3 台服务器。

我猜大概有2个案例:

  1. Skype 机器人服务不会出于特殊原因向我的端点发送请求?

  2. Skype 机器人服务发出请求,但此请求无法到达我的 API 端点(特殊限制防火墙)。

我尝试了很多情况下的测试,但结果是一样的:

  • 我尝试在 2 个环境中使用相同的机器人(更改端点 URL)。
  • 我尝试创建新的机器人。
  • 我尝试将代码部署到另一台服务器中,我确信收入和结果请求(结果是我对这台服务器的期望)。

本地 IIS 日志:

2019-09-23 04:07:17 ::1 OPTIONS /api/messages - 3978 - ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:69.0)+Gecko/20100101+Firefox/69.0 https://botservice.hosting.portal.azure.net/botservice/?bundlingKind=PopularPartitioner&cacheability=3&extensionName=Microsoft_Azure_BotService&l=en&pageVersion=1.4.0.40&trustedAuthority=portal.azure.com 405 0 0 12

2019-09-23 04:07:32 ::1 POST /api/messages - 3978 - ::1 BF-DirectLine+(Microsoft-BotFramework/3.2++https://botframework.com/ua) - 200 0 0 13008

2019-09-23 04:08:19 ::1 POST /api/messages - 3978 - ::1 Microsoft-SkypeBotApi+(Microsoft-BotFramework/3.0) - 200 0 0 1431

生产环境中的 IIS 日志:

  2019-09-23 03:15:50 10.3.23.6 OPTIONS /api/messages - 7541 - 10.3.254.81 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:69.0)+Gecko/20100101+Firefox/69.0 405 0 0 78

  2019-09-23 03:23:39 10.3.23.6 POST /api/messages - 7541 - 10.3.254.81 BF-DirectLine+(Microsoft-BotFramework/3.2++https://botframework.com/ua) 200 0 0 5981
4

1 回答 1

0

此问题的根本原因是我的服务器尚未启用 TLS 1.2。在我为此服务器启用 TLS 1.2 后,一切都按预期工作。

这是对端点的要求: https ://blog.botframework.com/2018/11/06/announcement-azure-bot-service-enforcing-transport-layer-security-tls-1-2/

于 2019-09-27T03:58:44.087 回答