すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutCname

最終更新日:Feb 21, 2024

カスタムドメイン名をバケットにマップします。

リクエスト構文

POST /?cname&comp=HTTP/1.1の追加
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Type: application/xml
コンテンツ-長さ: 186
日付: GMT日付
権限付与: SignatureValue
<BucketCnameConfiguration>
  <Cname>
    <Domain>example.com</Domain>
  </Cname>
</BucketCnameConfiguration> 

リクエストヘッダー

このAPI操作に含まれるリクエストヘッダーには、共通のリクエストヘッダーのみが含まれます。 詳細については、「共通リクエストヘッダー」をご参照ください。

リクエスト要素

要素データ型必須説明
BucketCnameConfigurationContainer必須N/ACNAMEレコードを格納するコンテナー。

親ノード: なし

子ノード: Cname

CnameContainer必須N/ACNAME情報を格納するコンテナ。

親ノード: BucketCnameConfiguration

子ノード: ドメイン

ドメインString必須example.comカスタムドメイン名。

親ノード: Cname

子ノード: なし

CertificateConfigurationContainer必須N/A証明書が設定されているコンテナー。

親ノード: Cname

子ノード: CertId、Certificate、PrivateKey、PreviousCertId、Force、およびDeleteCertificate

CertIdString必須493 ****-cn-hangzhou証明書の ID 。

親ノード: CertificateConfiguration

子ノード: なし

証明書String必須----- CERTIFICATEを開始 ----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** ----- CERTIFICATEを終了 -----証明書の公開鍵。

親ノード: CertificateConfiguration

子ノード: なし

PrivateKeyString必須----- CERTIFICATEを開始 ----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** ----- CERTIFICATEを終了 -----証明書の秘密鍵

親ノード: CertificateConfiguration

子ノード: なし

PreviousCertIdString任意493 ****-cn-hangzhou証明書の ID 。 Forceパラメーターがtrueに設定されていない場合、OSSサーバーはForceパラメーターの値が現在の証明書IDと一致するかどうかを確認します。 値が証明書IDと一致しない場合、エラーが返されます。
重要 証明書をバインドするときにPreviousCertIdパラメーターを指定しない場合は、Forceパラメーターをtrueに設定する必要があります。

親ノード: CertificateConfiguration

子ノード: なし

フォースString必須true証明書を上書きするかどうかを指定します。 有効な値:
  • true: 証明書を上書きします。
  • false: 証明書を上書きしません。

親ノード: CertificateConfiguration

子ノード: なし

DeleteCertificate String必須true証明書を削除するかどうかを指定します。 有効な値:
  • true: 証明書を削除します。
  • false: 証明書を削除しません。

親ノード: CertificateConfiguration

子ノード: なし

レスポンスヘッダー

このリクエストには、共通のレスポンスヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。

  • リクエストの例
    • ドメイン名
      のマッピングPOST /?cname&comp=add HTTP/1.1
      ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      コンテンツ-長さ: 186
      日付: 9月2015日木曜日15:39:12 GMT
      権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ ****
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration> 
    • 証明書をドメイン名
      にバインドします。POST /?cname&comp=add HTTP/1.1
      ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      コンテンツ-長さ: 186
      日付: 9月2015日木曜日15:39:12 GMT
      権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ ****
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
          <CertificateConfiguration>
            <CertId>493 ****-cn-hangzhou</CertId>
            <証明書> ----- 認証を開始 ----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** ----- 認証を終了 -----</証明書>
            <PrivateKey>----- CERTIFICATEを開始 ----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** ----- CERTIFICATEを終了 -----</PrivateKey>
            <PreviousCertId>493 ****-cn-hangzhou</PreviousCertId>
            <Force>true</Force>
          </CertificateConfiguration>
        </Cname>
      </BucketCnameConfiguration> 
    • ドメイン名から証明書のバインド解除

      ドメイン名で証明書を引き続き使用しない場合は、証明書のバインドを解除できます。

      POST /?cname&comp=HTTP/1.1の追加
      ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      コンテンツ-長さ: 186
      日付: 9月2015日木曜日15:39:12 GMT
      権限付与: OSS qn6qrrqxo2oawuk53otf ****:KU5h8YMUC78M30dXqf3JxrTZ ****
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
            <CertificateConfiguration>
            <DeleteCertificate>True</DeleteCertificate>
          </CertificateConfiguration>
        </Cname>
      </BucketCnameConfiguration> 
  • 成功応答
    のサンプルcontent-length: 0
    x-oss-console-auth: 成功
    server: AliyunOSS
    x-oss-server-time: 980
    接続: キープアライブ
    x-oss-request-id: 5C1B138A109F4E405B2D
    日付: 9月15日水2021 03:33:37 GMT 

エラーコード

エラーコードHTTPステータスコード説明
InvalidArgument400CNAMEレコードの形式が無効な場合に返されるエラーメッセージ。 返されたXMLコンテンツで、エラーフィールドとエラーの原因を表示できます。
NeedVerifyDomainOwnership403ドメイン名の所有権が検証されていない場合に返されるエラーメッセージ。

ドメイン名の所有権を確認するには、次の手順を実行します。

  1. CreateCnameToken操作を呼び出して、ドメイン名の所有権を検証するために使用されるCNAMEトークンを作成します。
    説明 デフォルトでは、CNAMEトークンは作成後72時間以内に期限切れになります。 既存のトークンの有効期間内に新しいCNAMEトークンが作成された場合、既存のCNAMEトークンが返されます。
  2. ドメイン名プロバイダのシステムにTXTレコードを追加します。

    たとえば、カスタムドメインexample.comのTXTレコードを追加します。 レコードを追加するときは、レコードタイプとしてTXTを選択し、ホストレコードとして _dnsauth.exampleを入力し、レコード値としてステップ1から返されたCNAMEトークンを入力します。 他のパラメータのデフォルト設定を維持します。 CNAMEレコードを追加する方法の詳細については、「カスタムドメイン名のマップ」トピックの「CNAMEレコードを手動で追加する」を参照してください。

    説明 TXTレコードを追加した後、TXTレコードが有効になるまでに数分かかります。
  3. PutCname操作を呼び出して、カスタムドメイン名をマップします。
CnameDenied403ドメイン名が使用中の場合に返されるエラーメッセージ。
CnameIsForbidden403ドメイン名がOSS用に予約されており、マッピングできない場合に返されるエラーメッセージ。
CnameIsRisk403ドメイン名が高リスクドメイン名であり、マッピングできない場合に返されるエラーメッセージ。
NoSuchCnameInRecord404指定されたドメイン名にICPライセンスがない場合に返されるエラーメッセージ。 ドメイン名のICP申請を申請する方法の詳細については、「ドメイン名の概要」をご参照ください。.
CnameAlreadyExists409考えられる原因:
  • ドメイン名は、現在のアカウントに属する別のバケットにマップされます。

    問題の説明: 返されるエラーメッセージのCnameTypeパラメーターの値はCNAME_OSSです。

  • ドメイン名は画像処理に使用されます。

    問題の説明: 返されるエラーメッセージのCnameTypeパラメーターの値はCNAME_IMGです。

上記の問題を解決するには、現在のドメイン名とバケット間のマッピングを削除する必要があります。 詳細については、HTTP 409ステータスコードの「CnameAlreadyExists」セクションを参照してください。