put-cname

更新时间:
复制 MD 格式

put-cname用于为某个存储空间(Bucket)绑定自定义域名。

权限说明

阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy概述Bucket Policy授予操作权限。

API

Action

说明

PutCname

oss:PutCname

Bucket绑定自定义域名。

yundun-cert:DescribeSSLCertificatePrivateKey

Bucket绑定自定义域名时,如果绑定证书,则需要这三个操作的权限。

yundun-cert:DescribeSSLCertificatePublicKeyDetail

yundun-cert:CreateSSLCertificate

命令格式

ossutil api put-cname --bucket value --cname-configuration value [flags]

参数

类型

说明

--bucket

string

Bucket名称。

--cname-configuration

string

Cname配置的容器。

--cname-configuration配置选项既支持XML语法也支持JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。

  • XML语法:

    <BucketCnameConfiguration>
      <Cname>
        <Domain>string</Domain>
        <IsWildCard>bool</IsWildCard>
      </Cname>
    </BucketCnameConfiguration>
  • JSON语法:

    {
      "Cname": {
        "Domain": "string",
        "IsWildCard": boolean
      }
    }
说明
  • put-cname不使用--wildcard选项,而是通过--cname-configuration中的IsWildCard节点声明CNAME类别。IsWildCard取值为truefalse:true表示绑定泛域名CNAME(Domain传入泛域名基础域,不含*.前缀),false表示绑定精确CNAME。

  • Agentic Bucket支持泛域名CNAME:在Agentic Bucket上绑定CNAME(无论精确还是泛域名)时,必须显式配置IsWildCard节点,不允许缺省或为空;普通Bucket无需配置该节点。请确保您使用的ossutil版本已支持IsWildCard节点。

  • put-cname命令对应API接口PutCname。关于API中的具体参数含义,请参见PutCname。关于支持的全局命令行选项,请参见支持的全局命令行选项

使用示例

1. 为存储空间examplebucket绑定自定义域名example.com

  • 使用XML配置文件,cname-configuration.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <BucketCnameConfiguration>
      <Cname>
        <Domain>example.com</Domain>
      </Cname>
    </BucketCnameConfiguration>

    命令示例如下:

    ossutil api put-cname --bucket examplebucket --cname-configuration file://cname-configuration.xml
  • 使用JSON配置文件,cname-configuration.json 内容如下:

    {
      "Cname": {
        "Domain": "example.com"
      }
    }

    命令示例如下:

    ossutil api put-cname --bucket examplebucket --cname-configuration file://cname-configuration.json
  • 使用JSON配置参数,命令示例如下:

    ossutil api put-cname --bucket examplebucket --cname-configuration "{\"Cname\":{\"Domain\":\"example.com\"}}"

2. 为存储空间examplebucket绑定证书。

  • 使用XML配置文件,cname-configuration.xml内容如下:

    <?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 RSA PRIVATE KEY-----\nMIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC****\n-----END RSA PRIVATE KEY-----</PrivateKey>
          <PreviousCertId>493****-cn-hangzhou</PreviousCertId>
          <Force>true</Force>
        </CertificateConfiguration>
      </Cname>
    </BucketCnameConfiguration>

    命令示例如下:

    ossutil api put-cname --bucket examplebucket --cname-configuration file://cname-configuration.xml
  • 使用JSON配置文件,cname-configuration.json 内容如下:

    {
        "Cname": {
            "Domain": "example.com",
            "CertificateConfiguration": {
                "CertId": "493****-cn-hangzhou",
                "Certificate": "-----BEGIN CERTIFICATE-----\nMIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC****\n-----END CERTIFICATE-----",
                "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC****\n-----END RSA PRIVATE KEY-----",
                "PreviousCertId": "493****-cn-hangzhou",
                "Force": true
            }
        }
    }

    命令示例如下:

    ossutil api put-cname --bucket examplebucket --cname-configuration file://cname-configuration.json

3. 为Agentic Bucketmy-uid-region-ab-apsr绑定泛域名CNAMEexample.com(泛域名基础域,不含*.前缀),并附带证书。

  • 使用XML配置文件,cname-configuration.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <BucketCnameConfiguration>
      <Cname>
        <Domain>example.com</Domain>
        <IsWildCard>true</IsWildCard>
        <CertificateConfiguration>
          <CertId>493****-cn-hangzhou</CertId>
          <Certificate>-----BEGIN CERTIFICATE----- MIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC **** -----END CERTIFICATE-----</Certificate>
          <PrivateKey>-----BEGIN RSA PRIVATE KEY-----\nMIIDhDCCAmwCCQCFs8ixARsyrDANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC****\n-----END RSA PRIVATE KEY-----</PrivateKey>
          <Force>true</Force>
        </CertificateConfiguration>
      </Cname>
    </BucketCnameConfiguration>

    命令示例如下:

    ossutil api put-cname --bucket my-uid-region-ab-apsr --cname-configuration file://cname-configuration.xml
  • 使用JSON配置参数,命令示例如下:

    ossutil api put-cname --bucket my-uid-region-ab-apsr --cname-configuration "{\"Cname\":{\"Domain\":\"example.com\",\"IsWildCard\":true}}"