您可以通过bucket-cname命令创建域名所有权验证所需的CnameToken以及管理Cname配置。
注意事项
要创建CnameToken,您必须具有
oss:CreateCnameToken
权限;要获取CnameToken,您必须具有oss:GetCnameToken
权限;要添加Cname配置,您必须具有oss:PutCname
权限;要获取Cname配置,您必须具有oss:ListCname
权限;要删除Cname配置,您必须具有oss:DeleteCname
权限。具体操作,请参见为RAM用户授权自定义的权限策略。从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。
创建CnameToken
仅ossutil1.7.13及以上版本支持创建CnameToken。
命令格式
ossutil bucket-cname --method put --item token oss://bucketname domainname
参数说明如下:
参数
说明
bucketname
填写待绑定Cname配置的Bucket名称。
domainname
填写自定义域名。
使用示例
以下示例用于为examplebucket待绑定的自定义域名example.com创建CnameToken。
ossutil bucket-cname --method put --item token oss://examplebucket example.com
输出结果如下:
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>4db41c3ad0c4c4b690d4c17fb34e****</Token> <ExpireTime>Thu, 26 May 2022 19:14:12 GMT</ExpireTime> </CnameToken> 0.270654(s) elapsed
CnameToken创建完成后,您需要添加TXT记录。具体步骤,请参见验证域名所有权。
查看CnameToken
命令格式
ossutil bucket-cname --method get --item token oss://bucketname domainname local_xml_file
使用示例
以下示例用于查看CnameToken,并输出到屏幕。
ossutil bucket-cname --method get --item token oss://examplebucket example.com
输出结果如下:
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>fbf997e8a2d48cb2177ed25180ee****</Token> <ExpireTime>Thu, 26 May 2022 19:53:19 GMT</ExpireTime> </CnameToken> 0.144356(s) elapsed
以下示例用于查看CnameToken,并保存到本地文件。
ossutil bucket-cname --method get --item token oss://examplebucket example.com local.xml
本地文件内容如下:
<CnameToken> <Bucket>examplebucket</Bucket> <Cname>example.com</Cname> <Token>fbf997e8a2d48cb2177ed25180ee****</Token> <ExpireTime>Thu, 26 May 2022 19:53:19 GMT</ExpireTime> </CnameToken>
添加Cname配置
添加Cname配置之前,您需要先创建CnameToken。具体步骤,请参见创建CnameToken。
命令格式
ossutil bucket-cname --method put oss://bucketname domainname
使用示例
以下示例用于为examplebucket添加Cname配置。
ossutil bucket-cname --method put oss://examplebucket example.com
以下输出结果表明已成功添加Cname配置。
0.227834(s) elapsed
获取Cname配置
命令格式
ossutil bucket-cname --method get oss://bucketname local_xml_file
使用示例
以下示例用于获取examplebucket的Cname配置,并将配置结果直接输出屏幕。
ossutil bucket-cname --method get oss://examplebucket
以下输出结果表明已成功获取Cname配置。Cname配置显示examplebucket绑定了两个自定义域名,分别为example.com和example.org,且域名处于已启用(Enabled)状态等信息。
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>148562088256****</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2021-08-26T07:25:12.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> <Cname> <Domain>example.org</Domain> <LastModified>2021-08-26T07:25:26.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> </ListCnameResult> 0.164039(s) elapsed
以下示例用于获取examplebucket的Cname配置,并将配置结果输出到本地文件。
ossutil bucket-cname --method get oss://examplebucket local.xml
有证书绑定的输出结果如下:
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>1506925210***</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2023-02-27T10:38:13.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>false</IsPurgeCdnCache> <Certificate> <Type>CAS</Type> <CertId>927****-cn-hangzhou</CertId> <Status>Enabled</Status> <CreationDate>Mon, 27 Feb 2023 06:51:34 GMT</CreationDate> <Fingerprint>60:AA:C3:2C:D4:70:54:3D:02:DB:B5:AA:E7:0E:E2:B9:0B:5A:C8:CC</Fingerprint> <ValidStartDate>Feb 10 00:00:00 2023 GMT</ValidStartDate> <ValidEndDate>Feb 10 23:59:59 2024 GMT</ValidEndDate> </Certificate> </Cname> </ListCnameResult>
无证书绑定的输出结果如下:
<?xml version="1.0" encoding="UTF-8"?> <ListCnameResult> <Bucket>examplebucket</Bucket> <Owner>148562088256****</Owner> <Cname> <Domain>example.com</Domain> <LastModified>2021-08-26T07:25:12.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> <Cname> <Domain>example.org</Domain> <LastModified>2021-08-26T07:25:26.000Z</LastModified> <Status>Enabled</Status> <IsPurgeCdnCache>true</IsPurgeCdnCache> </Cname> </ListCnameResult>
添加Cname域名并绑定域名证书
命令格式
ossutil bucket-cname --method put --item certificate oss://bucketname local_xml_file
使用示例
设置本地配置文件。
<?xml version="1.0" encoding="UTF-8"?> <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>
添加Cname域名并绑定域名证书。
ossutil bucket-cname --method put --item certificate oss://examplebucket local.xml
解绑域名证书
命令格式
ossutil bucket-cname --method put --item certificate oss://bucketname local_xml_file
使用示例
设置本地配置文件。
<?xml version="1.0" encoding="UTF-8"?> <BucketCnameConfiguration> <Cname> <Domain>example.com</Domain> <CertificateConfiguration> <DeleteCertificate>True</DeleteCertificate> </CertificateConfiguration> </Cname> </BucketCnameConfiguration>
解绑域名证书。
ossutil bucket-cname --method put --item certificate oss://examplebucket local.xml
删除Cname配置
命令格式
ossutil bucket-cname --method delete oss://bucketname domainname
使用示例
以下示例用于删除examplebucket的Cname配置。
ossutil bucket-cname --method delete oss://examplebucket example.com
以下输出结果表明已成功删除Cname配置。
0.227389(s) elapsed
通用选项
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。
例如,您需要为另一个阿里云账号下,华东1(杭州)地域下的testbucket添加Cname配置,命令如下:
ossutil bucket-cname --method put oss://testbucket example.org -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
关于此命令的其他通用选项的更多信息,请参见通用选项。