当请求主体来自APIGEE时,Azure应用程序网关正在对其进行条带化



当APIGEE试图命中部署在Azure中的API作为集成了应用网关的功能应用时,但当请求到来时,它会剥离请求主体。结果我们收到了400个糟糕的请求,我们不知道这里发生了什么,任何帮助都将受到的欢迎

•根据您的解释,您正在向Azure中部署功能应用程序的应用程序网关发送POST请求。因此,当来自Apigee的请求到达应用程序网关端点时,请求主体中的信息会被吃掉或消失。这种情况仅发生在特定的API代理上,在这种情况下,发送的apigee请求将部署的应用程序网关视为不可接受的API代理。因此,我请求您采取以下步骤:-

a) 使用NGINX/Wireshark日志发出API请求时收集TCP转储,并对其进行分析以确认目标端口为443

b) 检查从消息处理器发送到后端服务器的任何消息,并检查日志中状态如下的任何消息:-

[Unencrypted HTTP protocol detected over encrypted port, could indicate a dangerous misconfiguration.]

c) 如果目标服务器定义是在没有"SSLInfo"部分的情况下创建的,则在日志中会遇到上述消息。然后是CCD_ 1。

d) 然后重新启动顶点上的"消息处理器"以及Azure端以获取目标服务器的最新定义。

e) 此外,检查encoding specified in the HTTP request header ‘Content-Encoding’ is valid or not and the payload format sent by the client as a part of the HTTP request matches the encoding format specified in the ‘Content-Encoding’ header or not

•您遇到的错误是上述情况造成的。因此,您可以通过sending the request header as Content-Encoding:<payload format> and the request payload also in the same format解决该问题。下面给出了一个这样做的例子:-

curl -v "https://HOSTALIAS/v1/testgzip" -H "Content-Encoding: gzip" -X POST -d @request_payload.gz

有关上述内容的更多详细信息,请参阅下面的文档链接:-

https://docs.apigee.com/api-platform/troubleshoot/runtime/400-decompressionfailureatrequest

相关内容

  • 没有找到相关文章

最新更新