您可以通過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****
關於此命令的其他通用選項的更多資訊,請參見通用選項。