All Products
Search
Document Center

Object Storage Service:CreateCnameToken - Buat token CNAME untuk memverifikasi kepemilikan nama domain

Last Updated:Sep 16, 2026

CreateCnameToken membuat token CNAME yang diperlukan untuk memverifikasi kepemilikan nama domain. Gunakan parameter wildcard untuk menentukan apakah token akan dibuat untuk CNAME eksak atau CNAME wildcard.

Catatan penggunaan

  • Secara default, token CNAME kedaluwarsa 72 jam setelah dibuat. Jika operasi ini dipanggil kembali selama token masih berlaku, OSS akan mengembalikan token yang sudah ada.

  • Untuk Agentic Bucket, parameter wildcard wajib diisi dan tidak boleh kosong: wildcard=true membuat token untuk CNAME wildcard, sedangkan wildcard=false membuat token untuk CNAME eksak.

  • Untuk bucket standar, pembuatan token untuk CNAME eksak berfungsi sama seperti pada operasi CNAME OSS yang sudah ada, tanpa memerlukan parameter tambahan.

Sintaksis permintaan

POST /?cname&comp=token&wildcard=true HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Content-Type: application/xml
Content-Length: 186
Date: GMT Date
Authorization: SignatureValue

<BucketCnameConfiguration>
  <Cname>
    <Domain>example.com</Domain>
  </Cname>
</BucketCnameConfiguration>

Header permintaan

Operasi ini hanya menggunakan header permintaan umum. Untuk informasi selengkapnya, lihat Header HTTP umum.

Parameter permintaan

Parameter

Tipe

Wajib

Contoh

Deskripsi

wildcard

String

Bucket standar: Tidak

Agentic Bucket: Ya

true

Menentukan apakah akan membuat token untuk CNAME wildcard. Nilai yang valid:

  • true: membuat token untuk CNAME wildcard.

  • false: membuat token untuk CNAME eksak.

Untuk Agentic Bucket, parameter ini wajib diisi. Tetapkan secara eksplisit ke true atau false; tidak boleh kosong. Untuk bucket standar, parameter ini opsional dan default-nya adalah false.

Parameter wildcard memiliki nilai yang berbeda tergantung tipe bucket:

Tipe bucket

Parameter dihilangkan

wildcard=false

wildcard=true

Bucket standar

Diizinkan. Membuat token untuk CNAME eksak.

Diizinkan. Membuat token untuk CNAME eksak.

Tidak diizinkan

Agentic Bucket

Tidak diizinkan

Diizinkan. Membuat token untuk CNAME eksak.

Diizinkan. Membuat token untuk CNAME wildcard.

Catatan

Satu token untuk pasangan (bucket, CNAME) mencakup cakupan eksak maupun wildcard sekaligus.

Elemen permintaan

Elemen

Tipe

Wajib

Contoh

Deskripsi

BucketCnameConfiguration

Kontainer

Ya

N/A

Kontainer yang menyimpan konfigurasi CNAME.

Node induk: tidak ada

Node anak: Cname

Cname

Kontainer

Ya

N/A

Kontainer yang menyimpan informasi CNAME.

Node induk: BucketCnameConfiguration

Node anak: Domain

Domain

String

Ya

example.com

Nama domain kustom. Untuk membuat token untuk CNAME eksak, atur elemen ini ke nama domain lengkap, misalnya console.example.com. Untuk membuat token untuk CNAME wildcard, atur elemen ini ke nama domain dasar tanpa awalan *., misalnya example.com.

Node induk: Cname

Node anak: tidak ada

Idempotensi

Idempotensi operasi CreateCnameToken bergantung pada tipe bucket dan status pemetaan CNAME ke bucket tersebut:

  • Bucket standar: Jika CNAME sudah dipetakan ke bucket dalam status apa pun selain deleted, OSS mengembalikan NoNeedCreateCnameToken, sehingga tidak perlu membuat token baru.

  • Agentic Bucket: OSS mengembalikan NoNeedCreateCnameToken hanya jika nama domain dasar telah dipetakan ke CNAME dengan tipe yang sama pada Agentic Bucket tersebut.

Elemen respons

Elemen

Type

Contoh

Deskripsi

CnameToken

Kontainer

N/A

Kontainer yang menyimpan token CNAME.

Node induk: tidak ada

Node anak: Bucket, Cname, Token, dan ExpireTime

Bucket

String

examplebucket

Nama bucket tempat CNAME dipetakan.

Node induk: CnameToken

Node anak: tidak ada

Cname

String

example.com

Nama CNAME yang dipetakan.

Node induk: CnameToken

Node anak: tidak ada

Token

String

be1d49d863dea9ffeff3df7d6455****

Token CNAME yang dikembalikan oleh OSS.

Node induk: CnameToken

Node anak: tidak ada

ExpireTime

String

Wed, 23 Feb 2022 21:16:37 GMT

Waktu kedaluwarsa token CNAME.

Node induk: CnameToken

Node anak: tidak ada

Contoh

  • Contoh permintaan

    • Buat token CNAME untuk bucket standar

      POST /?cname&comp=token HTTP/1.1
      Host: oss-example.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Buat token CNAME untuk CNAME wildcard dari Agentic Bucket

      POST /?cname&comp=token&wildcard=true HTTP/1.1
      Host: myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
    • Buat token CNAME untuk CNAME eksak dari Agentic Bucket

      POST /?cname&comp=token&wildcard=false HTTP/1.1
      Host: myab-$uid-$region-ab-apsr.oss-cn-hangzhou.aliyuncs.com
      Content-Type: application/xml
      Content-Length: 186
      Date: Thu, 17 Apr 2025 15:39:12 GMT
      Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
      
      <BucketCnameConfiguration>
        <Cname>
          <Domain>console.example.com</Domain>
        </Cname>
      </BucketCnameConfiguration>
  • Contoh respons

    • Token CNAME berhasil dibuat.

      HTTP/1.1 200 OK
      x-oss-request-id: 5C1B138A109F4E405B2D
      Date: Mon, 26 Jul 2021 13:08:38 GMT
      Content-Length: 118
      Content-Type: application/xml
      Connection: keep-alive
      Server: AliyunOSS
      <?xml version="1.0" encoding="UTF-8"?>
      <CnameToken>
        <Bucket>myab-$uid-$region-ab-apsr</Bucket>
        <Cname>example.com</Cname>
        <Token>be1d49d863dea9ffeff3df7d6455****</Token>
        <ExpireTime>Fri, 01 Aug 2026 03:00:00 GMT</ExpireTime>
      </CnameToken>
    • Jumlah token CNAME melebihi batas maksimum.

      HTTP/1.1 400 Bad Request
      x-oss-request-id: 5C1B138A109F4E405B2D
      Date: Mon, 26 Jul 2021 13:08:38 GMT
      Content-Length: 118
      Content-Type: application/xml
      Connection: keep-alive
      Server: AliyunOSS
      <?xml version="1.0" encoding="UTF-8"?>
      <Error>
        <Code>TooManyCnameToken</Code>
        <Message>You have attempted to create more cname token than allowed.</Message>
        <RequestId>6215FD21DA0E27393F004E9E</RequestId>
        <HostId>127.0.0.1</HostId>
        <Bucket>examplebucket</Bucket>
      </Error>

OSS SDKs

OSS SDK berikut mendukung operasi CreateCnameToken:

ossutil

Untuk informasi tentang perintah ossutil yang sesuai dengan operasi CreateCnameToken, lihat create-cname-token.

Kode error

Kode error

Kode status HTTP

Deskripsi

InvalidArgument

400

Penyebab error berikut mungkin terjadi:

  • Elemen Domain berisi karakter tidak valid, seperti literal wildcard *.example.com.

TooManyCnameToken

400

Jumlah token yang dibuat untuk bucket yang sama melebihi batas maksimum.

NoNeedCreateCnameToken

200

CNAME sudah dipetakan ke bucket saat ini, sehingga Anda tidak perlu membuat token. Untuk bucket standar, OSS mengembalikan respons ini ketika CNAME sudah dipetakan ke bucket saat ini dalam status apa pun selain deleted. Untuk Agentic Bucket, OSS mengembalikan respons ini hanya jika nama domain dasar sudah dipetakan ke Agentic Bucket saat ini oleh CNAME dengan tipe yang sama.

MethodNotAllowed

405

Fitur CNAME tidak diaktifkan untuk tipe bucket target.