全部產品
Search
文件中心

Object Storage Service:訪問網域名稱(Endpoint)

更新時間:Feb 08, 2025

OSS以HTTP RESTful API的形式對外提供服務,會為每一個儲存空間(Bucket)分配預設的訪問網域名稱。

OSS網域名稱構成規則

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

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

Endpoint分為外網、內網以及傳輸加速Endpoint。以華東1(杭州)地區的訪問網域名稱為例,說明如下。

外網Endpoint

外網Endpoint可以直接使用,無需額外配置。

oss-cn-hangzhou.aliyuncs.com

內網Endpoint

內網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有關。

Object ACL

公用讀取或公用讀寫

私人

URL格式

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

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

參數說明

  • Schema:HTTP或者為HTTPS。

  • Bucket:OSS儲存空間名稱。

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

  • 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詳情,請參見OSS地區和訪問網域名稱

  • 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中包含簽名

相關文檔

  • 訪問不同的Region需要不同的Endpoint。關於Region和Endpoint對照表,請參見OSS地區和訪問網域名稱

  • 本文列舉的Endpoint為IPv4網域名稱。如果您需要通過IPv6協議訪問OSS,您需要使用IPv6協議的Endpoint。詳情請參見通過IPv6協議訪問OSS

  • 雲下機房裝置或異地ECS執行個體希望通過內網訪問OSS時,可通過CEN、Express Connect、專線、VPN等串連OSS所在地區內網網路,並配置指向OSS內網網段的路由。詳情請參見OSS內網網域名稱與VIP網段對照表

  • 除了使用OSS提供的網域名稱外,您可以為OSS訪問網域名稱綁定自訂網域名,實現通過自訂網域名訪問OSS。例如,為儲存空間綁定自訂網域名static.example.com,然後通過該網域名稱訪問OSS。

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