OSS访问域名使用规则
OSS会为每一个存储空间(Bucket)分配默认的访问域名,本文介绍OSS访问域名的构成规则及使用方式。
OSS域名构成规则
针对OSS的网络请求,除了GetService这个API以外,其他所有请求的域名都是带有指定Bucket信息的三级域名组成的。
- OSS以HTTP RESTful API的形式对外提供服务,当访问不同的地域(Region)时,需要不同的访问域名。
- Endpoint分内网、外网访问域名以及传输加速域名。例如华东1(杭州)地域的访问域名如下:
- 外网Endpoint:
oss-cn-hangzhou.aliyuncs.com
- 内网Endpoint:
oss-cn-hangzhou-internal.aliyuncs.com
- 传输加速Endpoint:
oss-accelerate.aliyuncs.com
内网、外网访问域名可直接使用,无需额外配置,而传输加速域名使用前需先开启Bucket的传输加速功能。详情请参见设置传输加速。
- 外网Endpoint:
- Region和Endpoint对照表请参见访问域名和数据中心。
- 您也可以通过绑定自定义域名或绑定传输加速域名,将OSS的外网访问域名替换为您的自有域名。
通过外网访问OSS服务
外网指的是互联网。通过外网访问产生的流入流量(写)是免费的,流出流量(读)是收费的。
外网访问OSS有如下两种方式:
- 访问方式一:访问时以URL的形式来表示OSS的资源。OSS的URL构成如下:
<Schema>://<Bucket>.<外网Endpoint>/<Object>
- Schema:HTTP或者为HTTPS。
- Bucket:OSS存储空间名称。
- 外网Endpoint:Bucket所在数据中心供外网访问的Endpoint,各地域Endpoint详情请参见访问域名和数据中心。
- Object:上传到OSS上的文件的访问路径。
示例:如果您的Region为华东1(oss-cn-hangzhou),Bucket名称为abc,Object访问路径为myfile/aaa.txt,那么您的外网访问地址为abc.oss-cn-hangzhou.aliyuncs.com/myfile/aaa.txt。
注意- 此域名仅当文件支持匿名访问时使用,若文件为私有,则还需要增加签名信息。
- OSS访问域名需携带Object访问路径才可以被访问,若仅访问域名,例如abc.oss-cn-hangzhou.aliyuncs.com,会有报错提示。若您希望直接访问OSS访问域名,可以通过静态网站托管来实现。
您还可以直接将Object的URL放入HTML中使用,如下所示:
<img src="https://abc.oss-cn-hangzhou.aliyuncs.com/mypng/aaa.png" />
- 访问方式二: 通过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服务
内网访问OSS有如下两种方式:
- 访问方式一:在访问的时候以URL的形式来表示OSS的资源。OSS的URL构成如下。
<Schema>://<Bucket>.<内网Endpoint>/<Object>
- Schema:HTTP或者为HTTPS。
- Bucket:OSS存储空间名称。
- 内网Endpoint:Bucket所在数据中心供同地域ECS访问的内网Endpoint,各地域Endpoint详情请参见访问域名和数据中心。
- Object:上传到OSS上的文件的访问路径。
示例:如您的Bucket名称为abc,Region为华东1,Object名称为myfile/aaa.txt,那么您的内网访问地址为abc.oss-cn-hangzhou-internal.aliyuncs.com/myfile/aaa.txt。
- 访问方式二:通过ECS使用OSS SDK配置内网Endpoint。
以Java SDK为例,对华东1地域的Bucket进行操作时,需要将endpoint设置为华东1地域的内网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之间内网不互通。例如您的OSS有两个Bucket,并且购买了华北2的ECS:- 其中一个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。
使用传输加速域名访问OSS
OSS传输加速支持数据上传、下载加速,可优化跨国、跨洋数据上传、下载体验。使用传输加速域名前,需先开启传输加速功能。开启后,您只需将外网Endpoint替换为传输加速Endpoint,即可实现数据传输加速。
- 不使用传输加速时文件URL:https://test.oss-cn-hangzhou.aliyuncs.com/myphoto.jpg
- 使用传输加速是的文件URL:https://test.oss-accelerate.aliyuncs.com/myphoto.jpg
更多关于传输加速功能的介绍请参见传输加速。
使用IPv6地址访问OSS
IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,它可以让地球上的每一粒沙子都拥有地址。目前OSS已支持通过IPv6/IPv4双栈域名访问。
您的IPv6/IPv4客户端均可以使用OSS提供的统一双栈域名访问您的存储空间。您的DNS服务器将按照您使用的协议版本解析对应协议的OSS服务器地址给您。例如杭州地域的Endpoint为:cn-hangzhou.oss.aliyuncs.com,若您的Bucket名称为myiotdata,则IPv6/IPv4客户端都可通过myiotdata.cn-hangzhou.oss.aliyuncs.com访问。
- 华东1(杭州):cn-hangzhou.oss.aliyuncs.com
- 华北5(呼和浩特):cn-huhehaote.oss.aliyuncs.com
- 中国香港:cn-hongkong.oss.aliyuncs.com
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论