文件(Object)上传至存储空间(Bucket)后,OSS会自动生成文件URL,您可以直接通过文件URL访问该文件。如果您希望通过自定义域名访问这些文件,需要将自定义域名绑定至文件所在的Bucket,并添加CNAME记录。

前提条件

  • 已注册自定义域名。具体步骤,请参见注册域名
  • 绑定至中国内地Bucket上的域名已在中国工信部备案。

    您可以通过阿里云提供的备案服务进行域名备案。

使用限制

  • 每个存储空间最多可以绑定100个域名。一个域名只能绑定在一个存储空间上,每个账号可绑定的域名个数无限制。
  • 通过OSS管理控制台绑定自定义域名时,不允许绑定泛域名。通过CDN服务加速OSS时,允许绑定泛域名,但该域名不会在OSS管理控制台显示。

注意事项

您可以通过绑定自定义域名满足以下使用场景。

  • 对于2019年09月23日以后在中国内地创建的Bucket,需确保通过浏览器访问Bucket内的图片文件时是预览而非下载行为。
  • 将Bucket配置成静态网站时,需确保正确访问静态网站页面,而非下载静态网页。

自定义域名使用规则

例如华东1(杭州)有名为examplebucket的Bucket,其根目录下有名为exampleobject.jpg的公共读Object,绑定的自定义域名为www.example.com。则绑定自定义域名前后的访问方式如下:
  • 绑定前

    使用Bucket默认域名访问exampleobject.jpg,访问地址为https://examplebucket.oss-cn-hangzhou.aliyuncs.com/exampleobject.jpg

  • 绑定后

    使用自定义域名访问exampleobject.jpg,访问地址为https://www.example.com/exampleobject.jpg

    说明 绑定自定义域名后,通过文件URL访问图片时,如果图片仍然无法预览而是以附件的形式下载,则原因可能是浏览器对于部分图片格式不支持预览。您只需要在浏览器上安装支持预览对应格式文件的插件即可。

使用OSS控制台

观看以下视频可快速了解如何绑定自定义域名:

  1. 绑定自定义域名。
    1. 登录OSS管理控制台
    2. 单击Bucket列表,然后单击目标Bucket名称。
    3. 单击传输管理 > 域名管理
    4. 单击绑定域名
    5. 绑定域名面板,输入要绑定的域名
      绑定的域名不支持泛域名,例如*.example.com

      如果提示域名冲突,表示该域名已绑定至其他Bucket。此时,您可以更换域名或通过验证域名所有权强制绑定域名。验证域名所有权会解除域名与其他Bucket的绑定关系。

  2. 添加CNAME记录。
    • 如果添加的域名为当前账号下管理的域名,开启自动添加CNAME记录。
      1. 绑定域名面板,打开自动添加CNAME记录开关。
        注意 如果您绑定的域名已配置过CNAME,则自动添加的CNAME记录会覆盖原有的CNAME记录。
      2. 单击提交
    • 如果添加的域名为非当前账号下的域名,手动添加CNAME记录。

      如果您的域名为非阿里云托管的域名,需在对应的域名解析商处配置云解析,如腾讯云解析(原DNSPod)或新网,详情请参见配置CNAME

      此处以非当前账号下阿里云托管的域名为例,手动添加CNAME记录步骤如下:

      1. 登录云解析DNS控制台
      2. 在域名解析列表中,单击目标域名右侧的解析设置
      3. 单击添加记录,填写域名解析信息。
        参数 说明
        记录类型 选择域名指向的类型。 此处选择CNAME
        主机记录 根据域名前缀填写主机记录。
        • 如果是顶级域名,例如aliyun.com,输入@
        • 如果是二级域名,输入二级域名的前缀。例如域名为help.aliyun.com,输入help
        • 如果需要所有的二级域名都指向Bucket外网访问域名,输入*
        解析线路 解析域名时使用的线路。 建议选择默认,系统将自动选择最佳线路。
        记录值 填写Bucket外网访问域名。Bucket外网访问域名结构为BucketName.Endpoint,例如华东1(杭州)地域创建了名为examplebucket的存储空间,外网Endpoint为oss-cn-hangzhou.aliyuncs.com,则填写为examplebucket.oss-cn-hangzhou.aliyuncs.com
        TTL 域名的更新周期,保留默认值即可。
      4. 单击确定

        新增CNAME记录实时生效,修改CNAME记录最多72小时内生效。

验证CNAME配置是否生效

您可以通过pinglookup命令测试您添加的域名,如果被转向*.oss-cn-*.aliyuncs.com,即表示CNAME配置已经生效。

测试

验证域名所有权

如果待绑定的自定义域名不是当前阿里云账号下的域名或者是通过其他厂商注册的域名,您需要通过验证域名所有权来绑定该域名。

  1. 单击域名所有权验证
    域名
    说明 OSS会随机生成该域名的token,包含域名主机记录,您需要保存这些信息。
    cname
  2. 在您的域名服务商处添加TXT记录,填写步骤1中保存的主机记录,其他参数保持默认配置。
    具体步骤,请参见手动添加CNAME记录
  3. 绑定用户域名面板,单击我已添加TXT验证文件,继续提交
    如果配置无误,OSS会将该域名绑定在当前Bucket。

解除域名绑定

当您的自定义域名不再使用时,可以手动解除域名绑定。

  1. 在目标Bucket管理页面,单击传输管理 > 域名管理
  2. 在域名列表中,单击目标域名右侧的域名绑定配置
  3. 域名绑定配置面板,单击解除绑定,然后单击确定

更多参考