【Azure APIM】记录APIM请求出现411报错情况

问题描述

在调用APIM请求时,遭遇请求返回411报错,提示 HTTP Error 411. The request must be chunked or have a content length.


image.png

问题解答

根据错误信息(HTTP Error 411. The request must be chunked or have a content length)。问题的原因为请求没有携带Content-Length。上图中使用的 curl 指令发送请求,没有自动补齐一些请求头部信息 (如"request-start-time", "Connection","Content-Length", "Content-Type", "Accept","Accept-Encoding" 等)。

在HTTP协议中,411状态码表示“需要内容长度(Length Required)”。

虽然在APIM中可以通过Set-Header策略来添加一些请求Header信息,但是对于特殊的header却不能添加,正好包含了Content-Length!


image.png

在APIM Policy中修改Content-Length时报错:
image.png

基于以上测试,当对APIM的请求中缺少了Content-Lenght请求头时,无法从APIM服务端进行设置缓解411报错。只能从请求的发送端入手,为发送的请求添加该字段!

参考资料

APIM Policy -- Set header : https://learn.microsoft.com/en-us/azure/api-management/set-header-policy

411 Length Required: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/411

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容