問題の説明
callbackUrlフィールドには、IPアドレスがプライベートIPアドレスであるURLが含まれます。
原因
リクエストを開始し、アップロードコールバックを指定するCallbackパラメーターのBase64-encoded値からデコードされたJSON文字列を取得しました。 callbackUrlフィールドにIPアドレスがプライベートIPアドレスであるURLが含まれている場合、エラーが返されます。
callbackUrlフィールドには、オブジェクトがOSS (Object Storage Service) にアップロードされた後のリクエストの宛先URLが含まれます。 URLのIPアドレスは、アクセス可能なパブリックIPアドレスである必要があります。 それ以外の場合、エラーが報告されます。
例
次のコードは、Callbackパラメーターの値からデコードされるサンプルレスポンスを示しています。
{
"callbackUrl":"127.0.0.1:8088/test.php" 、"callbackBody":"bucket =${ bucket}&object =${ object}&etag =${ etag}&size =${ mimeType}&imageInfo.height =${ imageInfo.height}&imageInfo.width ={ imageInfo.width}&imageInfo.width =${ image_x: $}"
}
上記のレスポンスでは、callbackUrlフィールドには、アクセス可能なパブリックIPアドレスではなく、プライベートIPアドレスであるURLが含まれています。 その結果、エラーが返されます。
ソリューション
callbackUrlフィールドのURLのIPアドレスが、期待どおりにアクセスできるパブリックIPアドレスであることを確認します。
関連ドキュメント
アップロードコールバック機能の原則とその使用方法については、「アップロードコールバック」および「コールバック」をご参照ください。
アップロードコールバックの設定時に発生する可能性のある一般的なエラーとエラーの原因については、「コールバックエラーのアップロードとトラブルシューティング」をご参照ください。
POSTポリシーに基づいてさまざまなプログラミング言語でサーバーから署名情報を取得し、アップロードコールバックを設定してから、フォームアップロードを使用してOSSにデータを直接アップロードする方法については、「概要」をご参照ください。
モバイルアプリにOSSベースの直接データ転送サービスを設定し、アップロードコールバックを設定する方法については、「モバイルアプリのアップロードコールバックの設定」をご参照ください。