問題描述
請求回調參數Callback中的callbackUrl中存在URL解析出的是內網IP。
問題原因
您發送的請求中用於上傳回調的Callback參數Base64解碼後會得到一個JSON結構,如果其中callbackUrl內的URL解析出來如果不是正常可訪問的公網地址,就會導致介面報錯。
callbackUrl參數表示的是檔案上傳成功後,OSS發送回調請求的目的URL地址。介面要求該參數中的URL解析後必須是可訪問的公網地址,如果解析發現是內網地址就會返回該錯誤。
問題樣本
比如您的請求中callback參數解碼後得到:
{
"callbackUrl":"127.0.0.1:8088/test.php",
"callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var=${x:my_var}"
}其中callbackUrl參數的值解析出來是內網IP,不是介面所要求的可正常訪問的公網地址,因此介面會返回該錯誤。
解決方案
請確保Callback參數的原始JSON字串中callbackUrl參數值中的URL解析出來是可正常訪問的公網地址。
相關文檔
關於上傳回調中的常見錯誤及錯誤排查,請參見上傳回調錯誤及排除。
關於基於Post Policy的使用規則在服務端通過各語言SDK程式碼完成簽名,並且設定上傳回調,然後通過表單直傳資料到OSS的具體操作,請參見服務端簽名直傳並設定上傳回調概述。
關於搭建基於OSS的行動裝置 App資料直傳服務並設定上傳回調的具體操作,請參見快速搭建行動裝置 App上傳回調服務。