OSS訪問域名使用規則
OSS域名構成規則
針對OSS的網絡請求,除了GetService這個API以外,其他所有請求的域名都是帶有指定Bucket信息的三級域名組成的。
訪問域名規則:BucketName.Endpoint。其中Endpoint表示OSS對外服務的訪問域名。OSS以HTTP RESTful API的形式對外提供服務,當訪問不同的Region的時候,需要不同的訪問域名。Endpoint分內網和外網訪問域名。
例如: 華東1 Region的外網Endpoint是oss-cn-hangzhou.aliyuncs.com,內網Endpoint是oss-cn-hangzhou-internal.aliyuncs.com
Region和Endpoint對照表請參考訪問域名和數據中心。
如何通過外網訪問OSS服務
這裏的外網指的是互聯網。通過外網訪問產生的流入流量(寫)是免費的,流出流量(讀)是收費的。詳情請閱讀OSS服務價格頁。
外網訪問OSS有如下兩種方式:
-
訪問方式1,在訪問的時候以URL的形式來表示OSS的資源的。OSS的URL構成如下:
<Schema>://<Bucket>.<外網Endpoint>/<Object> 三級域名訪問方式
Schema:值為HTTP或者為HTTPS
Bucket:用戶的OSS存儲空間
Endpoint:用戶的Bucket所在數據中心的訪問域名,這裏您需要填寫外網Endpoint
Object:用戶上傳在OSS上的文件
示例:如您在Region為華東1,Bucketname為abc,Object為myfile/aaa.txt,那麼您的外網訪問地址為:
abc.oss-cn-hangzhou.aliyuncs.com/myfile/aaa.txt
您還可以直接將Object的URL鏈接放入HTML中使用,如下所示:
<img src="https://abc.oss-cn-hangzhou.aliyuncs.com/mypng/aaa.png" />
-
訪問方式2: 通過OSS SDK配置外網訪問域名。
OSS SDK會幫助用戶對每一個操作拚接訪問域名。但用戶在對不同區域的Bucket進行操作的時候需要設置不同的Endpoint。
以Java SDK為例,準備對華東1節點的Bucket進行操作時,需要在對類實例化時設置Endpoint:
String accessKeyId = "<key>";
String accessKeySecret = "<secret>";
String endpoint = "oss-cn-hangzhou.aliyuncs.com";
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
如何通過內網訪問OSS服務
這裏的內網指的是阿裏雲產品之間的內網通信網絡,例如您通過ECS雲服務器訪問OSS服務、或阿裏雲CDN可以配置OSS內網訪問域名進行回源。內網產生的流入流出流量均是免費的。詳情請閱讀OSS服務價格頁。
內網訪問OSS有如下兩種方式:
-
訪問方式1,在訪問的時候以URL的形式來表示OSS的資源的。OSS的URL構成如下:
<Schema>://<Bucket>.<內網Endpoint>/<Object> 三級域名訪問方式
Schema:值為HTTP或者為HTTPS
Bucket:用戶的OSS存儲空間
Endpoint:用戶的Bucket所在數據中心的訪問域名,這裏您需要填寫內網Endpoint。
Object:用戶上傳在OSS上的文件
示例:如您在Region為華東1,Bucketname為abc ,Object為myfile/aaa.txt,那麼您的外網訪問地址為:
abc.oss-cn-hangzhou-internal.aliyuncs.com/myfile/aaa.txt
-
訪問方式2,通過ECS使用OSS SDK配置內網訪問域名。
例如在ECS雲服務器上的JAVA SDK的例子中配置內網Endpoint進行簡單修改:
String accessKeyId = "<key>";
String accessKeySecret = "<secret>";
String endpoint = "oss-cn-hangzhou-internal.aliyuncs.com";
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);
注意:在同一個Region的ECS和OSS之間內網是互通的,不同Region的ECS和OSS之間內網不互通。
例如您購買了華北2(cn-beijing)的ECS,其OSS有兩個Bucket:
-
其中一個Bucket叫beijingres,Region為華北2,那麼在華北2的ecs中可以使用
beijingres.oss-cn-beijing-internal.aliyuncs.com
去訪問 beijingres 的資源。 -
另外一個Bucket叫qingdaores,Region為華北1,那麼在華北2的ECS用內網地址
qingdaores.oss-cn-qingdao-internal.aliyuncs.com
是無法訪問OSS的,必須使用外網地址qingdaores.oss-cn-qingdao.aliyuncs.com
。
最後更新:2017-09-06 16:02:25