問題の説明
Object Storage Service (OSS) によって計算された署名は、リクエスト内の署名と一致しません。
発生原因
Amazon S3互換でチャンク化されたV4署名を使用するリクエストを開始しましたが、リクエスト内の署名はOSSによって計算された署名と一致しません。
例
Amazon S3互換でチャンク化されたV4署名を使用するリクエストを開始しましたが、リクエスト内の署名はOSSによって計算された署名と一致しません。
ソリューション
Alibaba Cloud SDKを使用してリクエストを開始することを推奨します。 Alibaba Cloud SDKは、手動で署名を計算する必要なしに、リクエストの署名を自動的に生成します。 詳細については、「概要」をご参照ください。
Alibaba Cloud SDKを使用してリクエストを開始した後に署名の不一致が報告された場合は、次の手順を実行して問題をトラブルシューティングします。
エンドポイントの形式が有効かどうかを確認します。
この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 有効なエンドポイントの形式は次の http://oss-cn-hangzhou.aliyuncs.com です。 他のリージョンのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
AccessKey IDとAccessKey secret が正しいことを確認してください。
AccessKey IDとAccessKey secretは、スペースで開始または終了することはできません。
バケットとオブジェクトが次の命名規則を満たしていることを確認します。
バケットの命名規則:
名前はOSSで一意である必要があります。
名前には、小文字、数字、およびハイフン (-) を使用できます。
名前の先頭と末尾は、小文字または数字である必要があります。
名前の長さは 3 ~ 63 文字である必要があります。
オブジェクトの命名規則:
名前はUTF-8でエンコードする必要があります。
名前の長さは 1 から 1,023 バイトにする必要があります。
名前を、スラッシュ (/) またはバックスラッシュ (\) で始めることはできません。
名前は大文字と小文字を区別します。
署名方法を確認します。
プロキシサーバーに追加のヘッダーが追加されているかどうかを確認します。
Amazon S3 SDKを使用してリクエストを開始することを推奨します。 詳細については、「Amazon S3 SDKを使用したOSSへのアクセス」をご参照ください。