全部產品
Search
文件中心

Object Storage Service:bucket-cname(自訂網域名)

更新時間:Jul 31, 2024

您可以通過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
  • 使用樣本

    1. 設定本地設定檔。

      <?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>
    2. 添加Cname網域名稱並綁定網域名稱認證。

      ossutil bucket-cname --method put --item certificate oss://examplebucket local.xml

解除綁定網域名稱認證

  • 命令格式

    ossutil bucket-cname --method put --item certificate oss://bucketname local_xml_file
  • 使用樣本

    1. 設定本地設定檔。

      <?xml version="1.0" encoding="UTF-8"?>
      <BucketCnameConfiguration>
        <Cname>
          <Domain>example.com</Domain>
          <CertificateConfiguration>
            <DeleteCertificate>True</DeleteCertificate>
          </CertificateConfiguration>
        </Cname>
      </BucketCnameConfiguration>
    2. 解除綁定網域名稱認證。

      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****

關於此命令的其他通用選項的更多資訊,請參見通用選項