Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:PutCname - Map a custom domain name to a bucket

Son Güncelleme:Oct 01, 2026

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/IsPurgeCdnCache ve ClientCaConfiguration (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>
Not

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 *. öneki olmadan temel etki alanı adına (örneğin example.com) ayarlayın.

Ü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:

  • true: Joker karakterli bir CNAME eşler. Domain öğesini temel etki alanı adına ayarlayın.

  • false: Tam bir CNAME eşler. Domain öğesini tam etki alanı adına ayarlayın.

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 *.<Domain> ile eşleşmelidir; bu nedenle joker karakterli bir sertifika gereklidir.

Ü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:

  • true: Sertifikanın üzerine yazar.

  • false: Sertifikanın üzerine yazmaz.

Üst düğümler: CertificateConfiguration

Alt düğümler: yok

DeleteCertificate

Dize

Hayır

true

Sertifikanın silinip silinmeyeceğini belirtir. Geçerli değerler:

  • true: Sertifikayı siler.

  • false: Sertifikayı silmez.

Ü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:

  • CNAME biçimi geçersiz. Belirli hata alanını ve nedenini kontrol etmek için döndürülen XML'i inceleyebilirsiniz.

  • Agentic Bucket için IsWildCard öğesi eksik veya değeri boş.

  • Joker karakterli temel etki alanı adı doğrulaması başarısız oldu. Örneğin, etiket sayısı üst sınırı aşıyor, düzey sayısı yetersiz veya etki alanı adı yüksek riskli bir TLD kombinasyonu kullanıyor.

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 *.<Domain> ile eşleşen joker karakterli bir sertifika kullanın.

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:

  1. Etki alanı adı sahipliği doğrulaması için gereken CNAME belirtecini oluşturmak üzere CreateCnameToken çağrısı yapın. Agentic Bucket üzerinde joker karakterli bir temel etki alanı adı için belirteç oluştururken wildcard=true belirtin.

  2. Etki alanı adı hizmeti sağlayıcınızda bir TXT kaydı ekleyin.

    Örneğin, example.com özel etki alanı adı için bir TXT kaydı eklemek üzere kayıt türünü TXT, ana bilgisayar kaydını _dnsauth.example ve kayıt değerini 1. Adım tarafından döndürülen CNAME belirtecine ayarlayın. Diğer parametreler için varsayılan ayarları koruyun. Daha fazla bilgi için bkz. Manuel olarak CNAME kaydı ekleme.

    Not

    Eklediğiniz TXT kaydının etkinleşmesi birkaç dakika sürebilir.

  3. Özel etki alanı adını eşlemek için PutCname çağrısı yapı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:

  • Etki alanı adı mevcut hesapta başka bir paket ile zaten eşlenmiş.

    Belirti: Döndürülen hata iletisindeki CnameType değeri CNAME_OSS'dir.

  • Etki alanı adı bir görüntü işleme etki alanı adıdır.

    Belirti: Döndürülen hata iletisindeki CnameType değeri CNAME_IMG'dir.

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.