OSS會為每一個儲存空間(Bucket)分配預設的訪問網域名稱,本文介紹OSS訪問網域名稱的構成規則及使用方式。
OSS網域名稱構成規則
針對OSS的網路請求,除了GetService(ListBuckets)以及DescribeRegions API以外,其他所有請求的網域名稱都是由帶有指定Bucket資訊的第三層網域名組成的。
訪問網域名稱結構為BucketName.Endpoint
。BucketName為您的儲存空間名稱,Endpoint為儲存空間對應的地區網域名稱。
Endpoint分為外網、內網以及傳輸加速Endpoint。
OSS以HTTP RESTful API的形式對外提供服務。訪問不同的Region需要不同的Endpoint。關於Region和Endpoint對照表,請參見訪問網域名稱和資料中心。
內網、外網Endpoint可以直接使用,無需額外配置。
傳輸加速Endpoint使用前需先開啟Bucket的傳輸加速功能。具體操作,請參見開啟傳輸加速。
您可以通過綁定自訂網域名或綁定自訂網域名至OSS傳輸加速網域名稱,將OSS的外網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有以下兩種方式。
方式一:以URL的形式訪問OSS Object
以URL形式訪問OSS Object時,與Object的讀寫權限ACL有關。
OSS訪問網域名稱需攜帶Object訪問路徑才可以被訪問。如果僅使用訪問網域名稱,例如examplebucket.oss-cn-hangzhou.aliyuncs.com,會有報錯提示。如果您希望通過OSS訪問網域名稱直接存取Object,可以通過配置靜態網站託管來實現。更多資訊,請參見靜態網站託管概述。
Object ACL | 公用讀取或公用讀寫 | 私人 |
URL格式 |
|
|
參數說明 |
| 除簽名資訊以外,其他參數的用法與公用讀取或公用讀寫Object相同。簽名資訊包含標識URL逾時時間的Expires、密鑰中的AccessKey ID以及Signature三種元素。 有關在檔案URL中添加簽名的具體步驟,請參見在URL中包含簽名。 |
使用樣本 | 您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的Object,該Object儲存在exampledir目錄下,且允許匿名訪問。此時,檔案URL為 | 您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的私人Object,該Object儲存在exampledir目錄下。此時,檔案URL為 |
方式二: 通過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有以下兩種方式。
方式一:以URL的形式訪問OSS Object
以URL形式訪問OSS Object時,與Object的讀寫權限ACL有關。
Object ACL | 公用讀取或公用讀寫 | 私人 |
URL格式 |
|
|
參數說明 |
| 除簽名資訊以外,其他參數的用法與公用讀取或公用讀寫Object相同。簽名資訊包含標識URL逾時時間的Expires、密鑰中的AccessKey ID以及Signature三種元素。 有關在檔案URL中添加簽名的具體步驟,請參見在URL中包含簽名。 |
使用樣本 | 您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的Object,該Object儲存在exampledir目錄下,且允許匿名訪問。此時,檔案夾URL為 | 您在華東1(杭州)地區建立了名為examplebucket的儲存空間,儲存空間下有名為example.txt的私人Object,該Object儲存在exampledir目錄下。此時,檔案URL為 |
方式二:通過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 |