您可以通过bucket-cname命令创建域名所有权验证所需的CnameToken以及管理Cname配置。

注意 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门

创建CnameToken

说明 仅ossutil1.7.13及以上版本支持创建CnameToken。
  • 命令格式
    ./ossutil64 bucket-cname --method put --item token oss://bucketname domainname

    参数说明如下:

    参数 说明
    bucketname 填写待绑定Cname配置的Bucket名称。
    domainname 填写自定义域名。
  • 使用示例

    以下示例用于为examplebucket待绑定的自定义域名example.com创建CnameToken。

    ./ossutil64 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

  • 命令格式
    ./ossutil64 bucket-cname --method get --item token oss://bucketname domainname 
  • 使用示例

    以下示例用于查看CnameToken。

    ./ossutil64 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

添加Cname配置

注意 添加Cname配置之前,您需要先创建CnameToken。具体步骤,请参见创建CnameToken
  • 命令格式
    ./ossutil64 bucket-cname --method put oss://bucketname domainname
  • 使用示例

    以下示例用于为examplebucket添加Cname配置。

    ./ossutil64 bucket-cname --method put oss://examplebucket example.com

    以下输出结果表明已成功添加Cname配置。

    0.227834(s) elapsed

获取Cname配置

  • 命令格式
    ./ossutil64 bucket-cname --method get oss://bucketname
  • 使用示例

    以下示例用于获取examplebucket的Cname配置,并将配置结果直接输出屏幕。

    ./ossutil64 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

删除Cname配置

  • 命令格式
    ./ossutil64 bucket-cname --method delete oss://bucketname domainname 
  • 使用示例

    以下示例用于删除examplebucket的Cname配置。

    ./ossutil64 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配置,命令如下:

./ossutil64 bucket-cname --method put oss://testbucket example.org -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

关于此命令的其他通用选项的更多信息,请参见通用选项