PutCname, özel bir etki alanı adını bir pakete eşler. Standart bir paket yalnızca tam bir CNAME destekler. Agentic Bucket ise Paket Alanlarına erişmek için kullanılan joker karakterli bir CNAME'i de destekler.
Kullanım notları
Tam veya joker karakterli bir CNAME'i bir Agentic Bucket ile eşlerken, istek XML'ine
IsWildCardöğesini açıkça eklemeniz ve değerini true veya false olarak ayarlamanız gerekir.Agentic Bucket için aşağıdaki öğeler desteklenmez:
AccessPointName,AccessPointNameForObjectProcess,PurgeConfiguration/IsPurgeCdnCacheveClientCaConfiguration(casCertId, satır içi sertifikalar ve silme işlemleri dahil). Bunlardan herhangi birini yapılandırırsanız OSS 400 MalformedXML hatası döndürür. Standart bir paket bu öğelerin tamamını desteklemeye devam eder.Bir Paket Alanı doğrudan bir CNAME ile eşlenemez. Bir Paket Alanına genel ağ erişimi, üst Agentic Bucket ile eşlenen joker karakterli CNAME üzerinden sağlanır.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabı tüm izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları ve RAM rolleri varsayılan olarak hiçbir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, gerekli izinleri RAM İlkesi veya Paket İlkesi kullanarak vermelidir.
API | Eylem | Açıklama |
PutCname | oss:PutCname | Özel bir etki alanı adını bir pakete eşler. |
yundun-cert:DescribeSSLCertificatePrivateKey | Özel bir etki alanı adını bir pakete eşlerken sertifika bağlarsanız bu üç izin gereklidir. | |
yundun-cert:DescribeSSLCertificatePublicKeyDetail | ||
yundun-cert:CreateSSLCertificate |
İstek sözdizimi
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>
PutCname, CNAME'in tam mı yoksa joker karakterli mi olduğunu belirtmek için istek XML'indeki IsWildCard öğesini kullanır. Agentic Bucket için IsWildCard öğesi gereklidir.
İstek başlıkları
Bu işlem yalnızca ortak istek başlıklarını kullanır. Daha fazla bilgi için bkz. Ortak HTTP başlıkları.
İstek öğeleri
Öğe | Tür | Gerekli | Örnek | Açıklama |
BucketCnameConfiguration | Kapsayıcı | Evet | U/Y | CNAME yapılandırmasını depolayan kapsayıcı. Üst düğümler: yok Alt düğümler: Cname |
Cname | Kapsayıcı | Evet | U/Y | CNAME bilgilerini depolayan kapsayıcı. Üst düğümler: BucketCnameConfiguration Alt düğümler: Domain, IsWildCard ve CertificateConfiguration |
Domain | Dize | Evet | example.com | Özel etki alanı adı. Tam bir CNAME eşlemek için bu öğeyi console.example.com gibi tam etki alanı adına ayarlayın. Joker karakterli bir CNAME eşlemek için bu öğeyi Üst düğümler: Cname Alt düğümler: yok |
IsWildCard | Boole | Standart paket: Hayır Agentic Bucket: Evet | true | Joker karakterli bir CNAME eşlenip eşlenmeyeceğini belirtir. Geçerli değerler:
Agentic Bucket için bu öğe gereklidir. Değeri açıkça true veya false olarak ayarlayın. Standart bir paket için bu öğeyi atlarsanız değer varsayılan olarak false olur. Üst düğümler: Cname Alt düğümler: yok |
CertificateConfiguration | Kapsayıcı | Hayır | U/Y | Sertifika yapılandırmasını depolayan kapsayıcı. Joker karakterli bir CNAME eşlerken sertifikanın CN veya SAN değeri Üst düğümler: Cname Alt düğümler: CertId, Certificate, PrivateKey, PreviousCertId, Force ve DeleteCertificate |
CertId | Dize | Hayır | 493****-cn-hangzhou | Sertifika kimliği. Üst düğümler: CertificateConfiguration Alt düğümler: yok |
Certificate | Dize | Hayır | -----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE----- | Sertifikanın genel anahtarı. Üst düğümler: CertificateConfiguration Alt düğümler: yok |
PrivateKey | Dize | Hayır | -----BEGIN PRIVATE KEY----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END PRIVATE KEY----- | Sertifikanın özel anahtarı. Üst düğümler: CertificateConfiguration Alt düğümler: yok |
PreviousCertId | Dize | Hayır | 493****-cn-hangzhou | Şu anda bağlı olan sertifikanın kimliği. Force true olarak ayarlanmazsa OSS bu değerin gerçekten bağlı olan sertifika ile eşleştiğini denetler ve eşleşmezse hata döndürür. Önemli Sertifika bağlarken PreviousCertId belirtmezseniz Force değerini true olarak ayarlayın. Üst düğümler: CertificateConfiguration Alt düğümler: yok |
Force | Dize | Hayır | true | Sertifikanın üzerine yazılıp yazılmayacağını belirtir. Geçerli değerler:
Üst düğümler: CertificateConfiguration Alt düğümler: yok |
DeleteCertificate | Dize | Hayır | true | Sertifikanın silinip silinmeyeceğini belirtir. Geçerli değerler:
Üst düğümler: CertificateConfiguration Alt düğümler: yok |
Yanıt başlıkları
Bu işlem yalnızca ortak yanıt başlıklarını döndürür. Daha fazla bilgi için bkz. Ortak HTTP başlıkları.
Örnekler
-
Örnek istekler
-
Özel bir etki alanı adını standart bir pakete eşleme
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> -
Standart bir paketin özel etki alanı adına sertifika bağlama
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 PRIVATE KEY----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END PRIVATE KEY-----</PrivateKey> <PreviousCertId>493****-cn-hangzhou</PreviousCertId> <Force>true</Force> </CertificateConfiguration> </Cname> </BucketCnameConfiguration> -
Standart bir paketin özel etki alanı adından sertifika bağlantısını kaldırma
Etki alanı adının artık bu sertifikayı kullanmasını istemiyorsanız bağlantıyı kaldırın.
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> -
Joker karakterli bir CNAME'i bir Agentic Bucket ile eşleme (joker karakterli sertifika ile)
POST /?cname&comp=add 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=host,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <IsWildCard>true</IsWildCard> <CertificateConfiguration> <Certificate>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</Certificate> <PrivateKey>-----BEGIN PRIVATE KEY----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END PRIVATE KEY-----</PrivateKey> </CertificateConfiguration> </Cname> </BucketCnameConfiguration> -
Tam bir CNAME'i bir Agentic Bucket ile eşleme
POST /?cname&comp=add 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=host,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <BucketCnameConfiguration> <Cname> <Domain>console.example.com</Domain> <IsWildCard>false</IsWildCard> </Cname> </BucketCnameConfiguration>
-
-
Örnek yanıt
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
OSS SDK'ları
Aşağıdaki OSS SDK'ları PutCname işlemini destekler:
ossutil
PutCname işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. put-cname.
Hata kodları
Hata kodu | HTTP durum kodu | Açıklama |
InvalidArgument | 400 | Hatanın olası nedenleri şunlardır:
|
MalformedXML | 400 | İstek, Agentic Bucket'ların desteklemediği bir öğe (AccessPointName, AccessPointNameForObjectProcess, PurgeConfiguration/IsPurgeCdnCache veya ClientCaConfiguration) içeriyor ya da istek gövdesinin biçimi geçersiz. |
CnameCertificateMismatch | 400 | Sertifika CNAME etki alanı adı ile eşleşmiyor. Joker karakterli bir CNAME eşlerken CN veya SAN değeri |
NeedVerifyDomainOwnership | 403 | Etki alanı adı sahipliği doğrulanmadı. Etki alanı adı sahipliğini doğrulamak için aşağıdaki adımları uygulayın:
|
CnameDenied | 403 | Etki alanı adı zaten kullanımda. |
CnameIsForbidden | 403 | Etki alanı adı OSS tarafından ayrılmıştır ve eşlenemez. |
CnameIsRisk | 403 | Etki alanı adı yüksek risk taşır ve eşlenemez. |
NoSuchCnameInRecord | 404 | Etki alanı adının ICP kaydı bulunmuyor. ICP kaydı başvurusu hakkında daha fazla bilgi için bkz. Alibaba Cloud Etki Alanı Adları. |
ConflictCname | 409 | Joker karakterli temel etki alanı adı aynı UID altındaki başka bir Agentic Bucket ile zaten eşlenmiş. Önce joker karakterli CNAME'i orijinal Agentic Bucket ile olan eşlemeden kaldırın ve ardından yeniden eşleyin. |
CnameAlreadyExists | 409 | Hatanın olası nedenleri şunlardır:
Bu sorunları çözmek için etki alanı adının eşlemesini kaldırın. Daha fazla bilgi için bkz. Etki alanı adı eşlemesini kaldırma. |
MethodNotAllowed | 405 | CNAME özelliği hedef paket türü için etkin değil. |