我的API终结点没有收到来自Skype bot服务的任何信号,但是当我将代码部署到生产环境中时,这与Web聊天是一样的。 该API使用: -.net核心2.2 -Bot Builder v4.5.2 -在IIS 7.5中托管
使用ngrok在本地两个渠道的网络聊天和Skype中,API都可以正常工作。在本地,我在每个代理的iis日志中看到请求日志:
Skype频道:Microsoft-SkypeBotApi +(Microsoft-BotFramework / 3.0)
网络聊天:BF-DirectLine +(Microsoft-BotFramework / 3.2 ++ https://botframework.com/ua)
在生产中,我仅在iis日志中看到来自Web聊天频道的请求。我不确定生产中的防火墙,因为这是第三台服务器。
我猜大概有2种情况:
Skype机器人服务没有特殊原因将请求发送到我的端点?
Skype机器人服务已发出请求,但该请求无法到达我的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
答案 0 :(得分:0)
此问题的根本原因是我的服务器尚未启用TLS 1.2。 在为该服务器启用TLS 1.2之后,一切都会按预期进行。