全部產品
Search
文件中心

Object Storage Service:OSS訪問網域名稱使用規則

更新時間:Jun 19, 2024

OSS會為每一個儲存空間(Bucket)分配預設的訪問網域名稱,本文介紹OSS訪問網域名稱的構成規則及使用方式。

OSS網域名稱構成規則

針對OSS的網路請求,除了GetService(ListBuckets)以及DescribeRegions API以外,其他所有請求的網域名稱都是由帶有指定Bucket資訊的第三層網域名組成的。

訪問網域名稱結構為BucketName.Endpoint。BucketName為您的儲存空間名稱,Endpoint為儲存空間對應的地區網域名稱。

Endpoint分為外網、內網以及傳輸加速Endpoint。

說明

以華東1(杭州)地區的訪問網域名稱為例,說明如下。

外網Endpoint

oss-cn-hangzhou.aliyuncs.com

內網Endpoint

oss-cn-hangzhou-internal.aliyuncs.com

傳輸加速Endpoint

傳輸加速Endpoint又分為Global AccelerationEndpoint以及非中國內地加速Endpoint。

  • 傳輸加速Global AccelerationEndpoint

    oss-accelerate.aliyuncs.com
  • 傳輸加速非中國內地加速Endpoint

    oss-accelerate-overseas.aliyuncs.com

通過外網訪問OSS

外網指的是互連網。通過外網訪問產生的流入流量(寫)是免費的,流出流量(讀)是收費的。

說明

OSS費用詳情請參見OSS產品定價計量項目和計費項目

外網訪問OSS有以下兩種方式。

方式一:以URL的形式訪問OSS Object

以URL形式訪問OSS Object時,與Object的讀寫權限ACL有關。

重要

OSS訪問網域名稱需攜帶Object訪問路徑才可以被訪問。如果僅使用訪問網域名稱,例如examplebucket.oss-cn-hangzhou.aliyuncs.com,會有報錯提示。如果您希望通過OSS訪問網域名稱直接存取Object,可以通過配置靜態網站託管來實現。更多資訊,請參見靜態網站託管概述

Object ACL

公用讀取或公用讀寫

私人

URL格式

<Schema>://<Bucket>.<外網Endpoint>/<Object>

<Schema>://<Bucket>.<外網Endpoint>/<Object>?簽名資訊

參數說明

  • Schema:HTTP或者為HTTPS。

  • Bucket:OSS儲存空間名稱。

  • 外網Endpoint:Bucket所在資料中心供外網訪問的Endpoint,各地區Endpoint詳情請參見訪問網域名稱和資料中心

  • Object:上傳到OSS上的檔案的訪問路徑。

除簽名資訊以外,其他參數的用法與公用讀取或公用讀寫Object相同。簽名資訊包含標識URL逾時時間的Expires、密鑰中的AccessKey ID以及Signature三種元素。

有關在檔案URL中添加簽名的具體步驟,請參見在URL中包含簽名

使用樣本

您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的Object,該Object儲存在exampledir目錄下,且允許匿名訪問。此時,檔案URL為https://examplebucket.oss-cn-hangzhou.aliyuncs.com/exampledir/example.txt

您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的私人Object,該Object儲存在exampledir目錄下。此時,檔案URL為https://examplebucket.oss-cn-hangzhou.aliyuncs.com/exampledir/example.txt?OSSAccessKeyId=nz2p***********&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272Y********

方式二: 通過OSS SDK配置外網訪問網域名稱

OSS SDK會對您的每一個操作拼接訪問網域名稱。但您在對不同地區的Bucket進行操作的時候需要設定不同的Endpoint。

以Java SDK為例,對華東1(杭州)的Bucket進行操作時,需要在對類執行個體化時設定Endpoint。

  import com.aliyun.oss.common.auth.*;
  
  EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
  String endpoint = "oss-cn-hangzhou.aliyuncs.com";
  OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

通過內網訪問OSS

內網指的是阿里雲同地區產品之間的內部通訊網路,例如您通過ECS雲端服務器訪問同地區的OSS服務。內網產生的流入和流出流量均免費,但是請求次數仍會計費。

說明

OSS費用詳情請參見OSS定價頁計費概述

內網訪問OSS有以下兩種方式。

方式一:以URL的形式訪問OSS Object

以URL形式訪問OSS Object時,與Object的讀寫權限ACL有關。

Object ACL

公用讀取或公用讀寫

私人

URL格式

<Schema>://<Bucket>.<內網Endpoint>/<Object>

<Schema>://<Bucket>.<內網Endpoint>/<Object>?簽名資訊

參數說明

  • Schema:HTTP或者為HTTPS。

  • Bucket:OSS儲存空間名稱。

  • 內網Endpoint:Bucket所在資料中心供同地區ECS訪問的內網Endpoint。有關各地區的Endpoint詳情,請參見訪問網域名稱和資料中心

  • Object:上傳到OSS上的檔案的訪問路徑。

除簽名資訊以外,其他參數的用法與公用讀取或公用讀寫Object相同。簽名資訊包含標識URL逾時時間的Expires、密鑰中的AccessKey ID以及Signature三種元素。

有關在檔案URL中添加簽名的具體步驟,請參見在URL中包含簽名

使用樣本

您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的Object,該Object儲存在exampledir目錄下,且允許匿名訪問。此時,檔案夾URL為https://examplebucket.oss-cn-hangzhou-internal.aliyuncs.com/exampledir/example.txt

您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的私人Object,該Object儲存在exampledir目錄下。此時,檔案URL為https://examplebucket.oss-cn-hangzhou-internal.aliyuncs.com/exampledir/example.txt?OSSAccessKeyId=nz2p***********&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272Y********

方式二:通過ECS使用OSS SDK配置內網Endpoint

以Java SDK為例,對華東1(杭州)地區的Bucket進行操作時,需要將Endpoint設定為華東1(杭州)地區的內網Endpoint。

  import com.aliyun.oss.common.auth.*;

  EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
  String endpoint = "oss-cn-hangzhou-internal.aliyuncs.com";
  OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

同一個Region的ECS和OSS之間內網互連,不同Region的ECS和OSS之間內網不互連。例如您的OSS有兩個Bucket,並且購買了華北2(北京)的ECS:

  • 其中一個Bucket名稱為srcbucket,所在Region為華北2(北京),您可以在華北2(北京)的ECS中使用https://srcbucket.oss-cn-beijing-internal.aliyuncs.com來訪問srcbucket的資源。

  • 另外一個Bucket名稱為destbucket,所在Region為華北1(青島),您無法在華北2(北京)的ECS中使用https://destbucket.oss-cn-qingdao-internal.aliyuncs.com來訪問destbucket的資源,必須使用外網地址https://destbucket.oss-cn-qingdao.aliyuncs.com

通過傳輸加速網域名稱訪問OSS

OSS傳輸加速支援資料上傳、下載加速,可最佳化跨國、跨洋資料上傳、下載體驗。使用傳輸加速網域名稱前,需先開啟傳輸加速功能。開啟後,您只需將外網Endpoint替換為傳輸加速Endpoint,即可實現資料轉送加速。

以Global AccelerationEndpoint為例,通過瀏覽器訪問位於華東1(杭州)的儲存空間examplebucket根目錄下的檔案myphoto.jpg,且檔案讀寫權限ACL為公用讀取或者公用讀寫,此時檔案URL為https://examplebucket.oss-accelerate.aliyuncs.com/myphoto.jpg

如果myphoto.jpg的讀寫權限ACL為私人,則還要在檔案URL中添加簽名資訊。例如https://examplebucket.oss-accelerate.aliyuncs.com/myphoto.jpg?OSSAccessKeyId=nz2p***********&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272Y********。有關在檔案URL中添加簽名的具體步驟,請參見在URL中包含簽名

更多關於傳輸加速功能的介紹,請參見傳輸加速

通過IPv6協議訪問OSS

IPv6是互連網工程工作群組IETF(Internet Engineering Task Force)設計用於替代現行版本IP協議(IPv4)的下一代IP協議,IPv6讓地球上的每一粒沙子都擁有地址。目前OSS已支援通過IPv6、IPv4雙棧網域名稱訪問。

您的IPv6、IPv4用戶端均可以使用OSS提供的統一雙棧網域名稱訪問您的Bucket,DNS伺服器將按照您使用的協議版本解析對應的OSS伺服器位址。例如,杭州地區的Endpoint為cn-hangzhou.oss.aliyuncs.com,Bucket名稱為examplebucket,則IPv6、IPv4用戶端都可以通過https://examplebucket.cn-hangzhou.oss.aliyuncs.com訪問該Bucket。

重要

不支援在傳統網路ECS中通過IPv4協議或IPv6協議訪問OSS。

目前可以通過IPv6協議訪問的Endpoint如下:

說明

OSS管理主控台當前僅展示Bucket的IPv4協議訪問的Endpoint,下表所示的IPv6協議訪問的Endpoint也可用於訪問相應Bucket。關於IPv4協議訪問的Endpoint的更多資訊,請參見訪問網域名稱和資料中心

Region

Endpoint

華東1(杭州)

cn-hangzhou.oss.aliyuncs.com

華東2(上海)

cn-shanghai.oss.aliyuncs.com

華北1(青島)

cn-qingdao.oss.aliyuncs.com

華北2(北京)

cn-beijing.oss.aliyuncs.com

華北 3(張家口)

cn-zhangjiakou.oss.aliyuncs.com

華北5(呼和浩特)

cn-huhehaote.oss.aliyuncs.com

華北6(烏蘭察布)

cn-wulanchabu.oss.aliyuncs.com

華南1(深圳)

cn-shenzhen.oss.aliyuncs.com

華南2(河源)

cn-heyuan.oss.aliyuncs.com

華南3(廣州)

cn-guangzhou.oss.aliyuncs.com

西南1(成都)

cn-chengdu.oss.aliyuncs.com

中國香港

cn-hongkong.oss.aliyuncs.com

杭州金融雲

cn-hangzhou-finance.oss.aliyuncs.com

上海金融雲

cn-shanghai-finance.oss.aliyuncs.com

深圳金融雲

cn-shenzhen-finance.oss.aliyuncs.com