端点没有收到来自 Skype 频道的请求,但在网络聊天中没问题

Endpoint don't receive a request from skype channel but it's ok in webchat

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

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

在生产过程中,我在 iis 日志中只看到来自 Web Chat 频道的请求。我不确定生产中的防火墙,因为这是 3rd 的服务器。

我猜大约有 2 个案例:

  1. Skype 机器人服务没有向我的端点发送请求有特殊原因吗?

  2. Skype bot 服务发出了请求,但是这个请求无法到达我的 API 端点(特殊限制防火墙)。

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

本地 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

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

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