阅读902 返回首页    go 阿里云 go 技术社区[云栖]


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构成如下:

    
    
    1. <Schema>://<Bucket>.<外网Endpoint>/<Object> 三级域名访问方式
    2. Schema:值为HTTP或者为HTTPS
    3. Bucket:用户的OSS存储空间
    4. Endpoint:用户的Bucket所在数据中心的访问域名,这里您需要填写外网Endpoint
    5. Object:用户上传在OSS上的文件

    示例:如您在Region为华东1,Bucketname为abc,Object为myfile/aaa.txt,那么您的外网访问地址为:

    
    
    1. abc.oss-cn-hangzhou.aliyuncs.com/myfile/aaa.txt

    您还可以直接将Object的URL链接放入HTML中使用,如下所示:

    
    
    1. <img src="https://abc.oss-cn-hangzhou.aliyuncs.com/mypng/aaa.png" />
  • 访问方式2: 通过OSS SDK配置外网访问域名。

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

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

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

如何通过内网访问OSS服务

这里的内网指的是阿里云产品之间的内网通信网络,例如您通过ECS云服务器访问OSS服务、或阿里云CDN可以配置OSS内网访问域名进行回源。内网产生的流入流出流量均是免费的。详情请阅读OSS服务价格页

内网访问OSS有如下两种方式: