問題描述
在調(diào)用APIM請求時,遭遇請求返回411報錯,提示 HTTP Error 411. The request must be chunked or have a content length.

問題解答
根據(jù)錯誤信息(HTTP Error 411. The request must be chunked or have a content length)。問題的原因為請求沒有攜帶Content-Length。上圖中使用的 curl 指令發(fā)送請求,沒有自動補齊一些請求頭部信息 (如"request-start-time", "Connection","Content-Length", "Content-Type", "Accept","Accept-Encoding" 等)。
在HTTP協(xié)議中,411狀態(tài)碼表示“需要內(nèi)容長度(Length Required)”。
雖然在APIM中可以通過Set-Header策略來添加一些請求Header信息,但是對于特殊的header卻不能添加,正好包含了Content-Length!


基于以上測試,當對APIM的請求中缺少了Content-Lenght請求頭時,無法從APIM服務(wù)端進行設(shè)置緩解411報錯。只能從請求的發(fā)送端入手,為發(fā)送的請求添加該字段!
參考資料
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
當在復(fù)雜的環(huán)境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 云中,恰是如此!