Memetakan nama domain kustom ke bucket.
Perizinan
Secara default, akun Alibaba Cloud memiliki semua izin. Pengguna RAM atau Peran RAM di bawah akun Alibaba Cloud tidak memiliki izin apa pun secara default. Administrator akun harus memberikan izin operasi melalui Kebijakan RAM atau Kebijakan Bucket.
API | Aksi | Definisi |
PutCname | oss:PutCname | Memetakan nama domain kustom ke bucket. |
yundun-cert:DescribeSSLCertificatePrivateKey | Saat memetakan nama domain kustom ke bucket, jika sertifikat dilampirkan, tiga izin ini diperlukan. | |
yundun-cert:DescribeSSLCertificatePublicKeyDetail | ||
yundun-cert:CreateSSLCertificate |
Sintaks permintaan
POST /?cname&comp=add 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
Semua header permintaan dalam permintaan PutCname adalah header umum. Untuk informasi lebih lanjut, lihat Header Permintaan Umum.
Elemen permintaan
Elemen | Tipe | Diperlukan | Contoh | Deskripsi |
BucketCnameConfiguration | Container | Ya | N/A | Kontainer yang menyimpan catatan CNAME. Node induk: tidak ada Node anak: Cname |
Cname | Container | Ya | N/A | Kontainer yang menyimpan informasi CNAME. Node induk: BucketCnameConfiguration Node anak: Domain |
Domain | String | Ya | example.com | Nama domain kustom. Node induk: Cname Node anak: tidak ada |
CertificateConfiguration | Container | Tidak | N/A | Kontainer untuk konfigurasi sertifikat. Node induk: Cname Node anak: CertId, Certificate, PrivateKey, PreviousCertId, Force, dan DeleteCertificate |
CertId | String | Tidak | 493****-cn-hangzhou | ID sertifikat. Node induk: CertificateConfiguration Node anak: tidak ada |
Certificate | String | Tidak | -----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE----- | Kunci publik sertifikat. Node induk: CertificateConfiguration Node anak: tidak ada |
PrivateKey | String | Tidak | -----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE----- | Kunci privat sertifikat. Node induk: CertificateConfiguration Node anak: tidak ada |
PreviousCertId | String | Tidak | 493****-cn-hangzhou | ID sertifikat. Jika parameter Force tidak disetel ke true, server OSS akan memeriksa apakah nilai parameter Force sesuai dengan ID sertifikat saat ini. Jika nilainya tidak sesuai dengan ID sertifikat, kesalahan akan dikembalikan. Penting Jika Anda tidak menentukan parameter PreviousCertId saat mengikat sertifikat, Anda harus menyetel parameter Force ke true. Node induk: CertificateConfiguration Node anak: tidak ada |
Force | String | Tidak | true | Menentukan apakah akan menimpa sertifikat. Nilai valid:
Node induk: CertificateConfiguration Node anak: tidak ada |
DeleteCertificate | String | Tidak | true | Menentukan apakah akan menghapus sertifikat. Nilai valid:
Node induk: CertificateConfiguration Node anak: tidak ada |
Header respons
Semua header dalam respons terhadap permintaan PutCname adalah header umum. Untuk informasi lebih lanjut, lihat Header Respons Umum.
Contoh
Permintaan Sampel
Petakan Nama Domain
POST /?cname&comp=add HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml Content-Length: 186 Date: Thu, 24 Sep 2015 15:39:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=host,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> </Cname> </BucketCnameConfiguration>Ikat Sertifikat ke Nama Domain
POST /?cname&comp=add HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml Content-Length: 186 Date: Thu, 24 Sep 2015 15:39:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=host,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <CertificateConfiguration> <CertId>493****-cn-hangzhou</CertId> <Certificate>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</Certificate> <PrivateKey>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</PrivateKey> <PreviousCertId>493****-cn-hangzhou</PreviousCertId> <Force>true</Force> </CertificateConfiguration> </Cname> </BucketCnameConfiguration>Lepaskan Sertifikat dari Nama Domain
Jika Anda tidak ingin nama domain terus menggunakan sertifikat, Anda dapat melepaskannya.
POST /?cname&comp=add HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Content-Type: application/xml Content-Length: 186 Date: Thu, 24 Sep 2015 15:39:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=host,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <CertificateConfiguration> <DeleteCertificate>True</DeleteCertificate> </CertificateConfiguration> </Cname> </BucketCnameConfiguration>
Respons Sukses Sampel
content-length: 0 x-oss-console-auth: success server: AliyunOSS x-oss-server-time: 980 connection: keep-alive x-oss-request-id: 5C1B138A109F4E405B2D date: Wed, 15 Sep 2021 03:33:37 GMT
SDK OSS
Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut guna memanggil PutCname:
ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi PutCname, lihat put-cname.
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
InvalidArgument | 400 | Pesan kesalahan dikembalikan karena format catatan CNAME tidak valid. Anda dapat melihat bidang kesalahan dan penyebab kesalahan dalam konten XML yang dikembalikan. |
NeedVerifyDomainOwnership | 403 | Pesan kesalahan dikembalikan karena kepemilikan nama domain belum diverifikasi. Lakukan langkah-langkah berikut untuk memverifikasi kepemilikan nama domain:
|
CnameDenied | 403 | Pesan kesalahan dikembalikan karena nama domain sedang digunakan. |
CnameIsForbidden | 403 | Pesan kesalahan dikembalikan karena nama domain dicadangkan untuk OSS dan tidak dapat dipetakan. |
CnameIsRisk | 403 | Pesan kesalahan dikembalikan karena nama domain merupakan domain berisiko tinggi dan tidak dapat dipetakan. |
NoSuchCnameInRecord | 404 | Pesan kesalahan dikembalikan karena nama domain yang ditentukan tidak memiliki lisensi ICP. Untuk informasi lebih lanjut tentang cara mengajukan pendaftaran ICP untuk nama domain, lihat Apa itu Domains?. |
CnameAlreadyExists | 409 | Penyebab potensial:
Untuk menyelesaikan masalah di atas, Anda harus menghapus pemetaan antara nama domain saat ini dan bucket. Untuk informasi lebih lanjut, lihat bagian "CnameAlreadyExists" dalam topik Kode status HTTP 409. |