Microsoft Teams MessageCard中HttpPOST按钮点击无响应问题排查
可能的原因分析
针对你遇到的Teams MessageCard中HttpPOST按钮无响应的问题,结合你的场景(本地curl正常、目标URL为局域网地址),可能的原因如下:
Teams请求发起方的网络限制
Teams中MessageCard的按钮请求是由Teams的云端服务器发起的,而非用户本地客户端。你的目标URL是局域网私有IP(172.16.2.48),Teams云端服务器处于公网环境,无法直接访问你的局域网内部资源,这是最可能的原因。你本地curl能访问是因为你的笔记本在局域网内,和目标服务处于同一网络,但Teams服务器不在这个网络里。请求类型不匹配
你用curl访问目标URL时用的是GET方式(URL带?open参数),但按钮定义的是HttpPOST类型。如果你的目标服务端只处理GET请求,不接受POST请求,就会导致无响应。可以检查服务端是否支持POST方式,或者把按钮类型改成HttpGET试试。Teams的安全策略拦截
Teams出于安全考虑,可能会阻止对非HTTPS地址的请求,或者禁止访问私有IP网段的资源。你的目标URL是HTTP协议而非HTTPS,可能被Teams的安全策略拒绝;同时私有IP本身也可能在Teams的拦截列表中。服务端的跨域或请求头限制
部分服务端会校验请求的Origin头或其他请求头,Teams发起的POST请求会携带特定的头信息,如果你的服务端没有允许这些头,就会拒绝请求。而你本地curl请求没有这些头,所以能正常访问。
内容的提问来源于stack exchange,提问作者mal
相关产品推荐
相关产品推荐

