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取值為true或false: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 Bucketmyab-$uid-$region-ab-apsr綁定泛網域名稱CNAME基礎網域名稱example.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}}"