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

简介: 在调用APIM请求时,出现HTTP 411错误,提示需包含Content-Length或使用分块传输。此问题因请求缺少Content-Length头导致,需从请求端添加该字段解决。

问题描述

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

 


问题解答

根据错误信息(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!

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

 

基于以上测试,当对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

 

 

 


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

相关文章
|
数据采集 数据安全/隐私保护 Python
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
通过上述方法,可以有效解决 `urllib.error.HTTPError: HTTP Error 403: Forbidden` 错误。具体选择哪种方法取决于服务器对请求的限制。通常情况下,添加用户代理和模拟浏览器请求是最常见且有效的解决方案。
941 10
|
存储 SQL 算法
攻防世界08-backup
攻防世界08-backup
|
关系型数据库 Linux 数据库
Linux系统之安装PostgreSQL数据库
Linux系统之安装PostgreSQL数据库
3124 1
|
机器学习/深度学习 存储 弹性计算
ECS是什么?
ECS(Elastic Compute Service)是一种提供弹性和可伸缩的计算能力的服务,通常由云服务提供商如阿里云和华为云提供。它允许用户根据需要快速扩展或缩减计算资源,以满足不同业务场景的需求
4493 0
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
458 0
|
安全 网络协议 PHP
【PHP安全】PHP伪协议
PHP伪协议为开发者提供了操作不同类型数据流的便捷方式,但也引入了安全风险。了解并正确使用这些伪协议,同时采取适当的安全措施,对于保障PHP应用的安全至关重要。通过实践上述安全措施,开发者可以有效地减少可能的安全威胁,保护应用免受攻击。
301 2
|
SQL 数据库 数据安全/隐私保护
攻防世界14-inget
攻防世界14-inget
|
Prometheus 监控 Cloud Native
性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
【8月更文挑战第3天】性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
2287 0