阅读780 返回首页    go 微信


访问域名__访问与控制_开发人员指南_对象存储 OSS-阿里云

OSS域名构成规则

针对OSS的网络请求,除了GetService这个API以外,其他所有请求的域名都是针对具体Bucket的三级域名,由BucketName和Endpoint构成:BucketName.Endpoint。其中Endpoint根据Bucket所在Region(数据中心)的不同以及内外网访问方式的不同会有所区分。

外网Endpoint规则

这里的外网指的是互联网。

  1. Region + .aliyuncs.com

内网Endpoint规则

这里的内网指的是阿里云内网网络。

  1. Region + -internal + .aliyuncs.com

OSS开通Region和Endpoint对照表

请参考访问域名和数据中心

OSS SDK 域名设置

OSS SDK中帮助用户对于每一个操作拼接了访问域名。但用户在对不同区域的Bucket进行操作的时候需要设置不同的Endpoint。

以Java SDK为例,准备对华东1节点的Bucket进行操作时,需要在对类实例化时设置Endpoint:

  1. String accessKeyId = "<key>";
  2. String accessKeySecret = "<secret>";
  3. String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
  4. OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

在ECS中使用内网Endpoint访问OSS

在同一个Region的ECS和OSS之间可以通过内网地址来访问,不同Region的ECS和OSS之间则无法通过内网访问。

例如用户购买了北京的ECS,其OSS有两个Bucket:

  • 其中一个Bucket叫 beijingres,Region为华北2,那么可以使用 beijingres.oss-cn-beijing-internal.aliyuncs.com 去访问 beijingres 的资源。
  • 另外一个Bucket叫 qingdaores, Region为华北 1,那么从北京的ECS用内网地址 qingdaores.oss-cn-qingdao-internal.aliyuncs.com是无法访问OSS的,必须使用外网地址 qingdaores.oss-cn-qingdao.aliyuncs.com

上面JAVA SDK的例子中使用了该Bucket的外网地址进行访问,如果要通过内网地址进行访问,需要对Endpoint进行简单修改:

  1. String accessKeyId = "<key>";
  2. String accessKeySecret = "<secret>";
  3. String endpoint = "https://oss-cn-hangzhou-internal.aliyuncs.com";
  4. OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

最后更新:2016-11-23 16:04:09

  上一篇:go 基本概念介绍__开发人员指南_对象存储 OSS-阿里云
  下一篇:go 访问OSS__访问与控制_开发人员指南_对象存储 OSS-阿里云