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又分為全球加速Endpoint以及非中國內地加速Endpoint。
傳輸加速全球加速Endpoint
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,即可實現數據傳輸加速。
以全球加速Endpoint為例,通過瀏覽器訪問位于華東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 |