Vincula um nome de domínio personalizado (CNAME) a um bucket.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM vinculados a essa conta não possuem permissões iniciais. A conta Alibaba Cloud ou o administrador deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.
|
API |
Action |
Descrição |
|
PutCname |
oss:PutCname |
Mapeia um nome de domínio personalizado para um bucket. |
|
yundun-cert:DescribeSSLCertificatePrivateKey |
O mapeamento de um nome de domínio personalizado com certificado anexado exige estas três permissões. |
|
|
yundun-cert:DescribeSSLCertificatePublicKeyDetail |
||
|
yundun-cert:CreateSSLCertificate |
Sintaxe da solicitação
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>
Cabeçalhos da solicitação
Todas as solicitações PutCname utilizam cabeçalhos comuns. Para mais informações, consulte Cabeçalhos comuns de solicitação.
Elementos da solicitação
|
Elemento |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
BucketCnameConfiguration |
Container |
Sim |
N/A |
Contêiner do registro CNAME. Nós pai: nenhum Nós filho: Cname |
|
Cname |
Container |
Sim |
N/A |
Contêiner das informações de CNAME. Nós pai: BucketCnameConfiguration Nós filho: Domain |
|
Domain |
String |
Sim |
example.com |
Nome de domínio personalizado a vincular. Nós pai: Cname Nós filho: nenhum |
|
CertificateConfiguration |
Container |
Não |
N/A |
Contêiner da configuração do certificado. Nós pai: Cname Nós filho: CertId, Certificate, PrivateKey, PreviousCertId, Force e DeleteCertificate |
|
CertId |
String |
Não |
493****-cn-hangzhou |
ID do certificado. Nós pai: CertificateConfiguration Nós filho: nenhum |
|
Certificate |
String |
Não |
-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE----- |
Chave pública do certificado. Nós pai: CertificateConfiguration Nós filho: nenhum |
|
PrivateKey |
String |
Não |
-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE----- |
Chave privada do certificado. Nós pai: CertificateConfiguration Nós filho: nenhum |
|
PreviousCertId |
String |
Não |
493****-cn-hangzhou |
ID atual do certificado. O OSS verifica se este valor corresponde ao ID existente antes de sobrescrevê-lo, exceto quando Force é definido como true. Importante
Se PreviousCertId não for especificado ao vincular um certificado, defina Force como true. Nós pai: CertificateConfiguration Nós filho: nenhum |
|
Force |
String |
Não |
true |
Define se o certificado existente será sobrescrito. Valores válidos:
Nós pai: CertificateConfiguration Nós filho: nenhum |
|
DeleteCertificate |
String |
Não |
true |
Define se o certificado será excluído. Valores válidos:
Nós pai: CertificateConfiguration Nós filho: nenhum |
Cabeçalhos da resposta
Esta operação retorna apenas Cabeçalhos comuns de resposta.
Exemplos
-
Exemplos de solicitações
-
Mapear um nome de domínio
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> -
Vincular um certificado ao nome de domínio
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> -
Desvincular um certificado do nome de domínio
Para desvincular o certificado do nome de domínio, defina DeleteCertificate como true.
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>
-
-
Exemplos de respostas de sucesso
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
SDKs do OSS
Use os seguintes SDKs do OSS para chamar PutCname:
ossutil
Para obter informações sobre o comando ossutil correspondente à operação PutCname, consulte put-cname.
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
InvalidArgument |
400 |
Formato de registro CNAME inválido. Verifique os campos de erro no corpo XML retornado para obter detalhes. |
|
NeedVerifyDomainOwnership |
403 |
Propriedade do nome de domínio não verificada. Para verificar a propriedade do domínio:
|
|
CnameDenied |
403 |
O nome de domínio está em uso. |
|
CnameIsForbidden |
403 |
O OSS reservou este nome de domínio e ele não pode ser mapeado. |
|
CnameIsRisk |
403 |
O nome de domínio foi sinalizado como alto risco e não pode ser mapeado. |
|
NoSuchCnameInRecord |
404 |
O nome de domínio não possui licença ICP. Solicite um arquivamento ICP por meio de O que é Domains?. |
|
CnameAlreadyExists |
409 |
Possíveis causas:
Remova primeiro o mapeamento existente. Consulte a seção "CnameAlreadyExists" em Código de status HTTP 409. |