七彩云对象存储
S3 接入教程 / 7 分钟阅读

S3自定义域名怎么绑定

一、结论

绑定S3协议对象存储的自定义域名,只需依次完成存储桶侧的域名关联配置、域名所有权验证、DNS解析记录添加、SSL证书部署四个核心环节,全程无复杂开发工作,普通用户10分钟即可完成配置,实现通过自有域名访问存储桶内的资源。

二、准备工作

1. 已开通对应S3服务的账号,持有具备存储桶配置权限的Access Key和Secret Key,若仅通过网页控制台操作可无需密钥;

2. 已提前注册好需要绑定的自定义域名,拥有该域名的DNS管理权限(可以修改域名的解析记录);

3. 若需要HTTPS访问,可提前准备好对应域名的SSL证书,也可以使用云服务厂商提供的免费公共证书;

4. 可正常访问S3服务控制台的网络环境,无需额外安装工具,通过网页浏览器即可完成全部操作。

三、操作步骤

步骤1:存储桶侧域名关联配置

首先登录你的S3服务控制台,在存储桶列表中找到需要绑定域名的目标存储桶,进入存储桶的「域名管理」或「权限配置-自定义域名」板块,点击「绑定自定义域名」按钮。在弹出的输入框中填写你要绑定的完整域名(比如img.example.com,不要携带http://https://前缀),然后根据存储桶的用途选择访问模式:公开存放静态资源、图片的存储桶选择「公开访问」,存放私有数据的存储桶选择「签名访问」。确认提交后,页面会生成两个关键信息:一是域名所有权验证所需的TXT类型记录值,二是该存储桶专属的Endpoint访问地址,将这两个信息复制保存到本地备用。

步骤2:域名所有权验证

打开你的域名注册商的DNS管理控制台,找到对应主域名的解析设置页面,点击「新增解析记录」,选择记录类型为TXT,主机记录填写S3控制台给出的校验前缀(比如要绑定img.example.com,校验前缀一般是_verify.img),记录值填写刚才复制的TXT校验值,TTL设置为10分钟(最小可设置的数值即可),保存后等待解析生效。一般1-5分钟解析即可生效,回到S3控制台的域名绑定页面点击「验证」按钮,页面显示「验证成功」即可进入下一步,若验证失败可等待10分钟后重试,或检查TXT记录的主机记录、记录值是否填写正确。

步骤3:配置DNS指向解析

再次回到域名DNS管理页面,新增一条CNAME类型的解析记录,主机记录填写你要绑定的域名前缀(比如绑定img.example.com就填img,绑定根域名example.com就填@),记录值填写刚才S3控制台给出的存储桶专属Endpoint地址,TTL设置为默认值或者10分钟,保存即可。这一步的作用是将用户对你的自定义域名的访问,转发到S3服务的存储桶节点上。

步骤4:配置SSL证书实现HTTPS访问

如果需要通过HTTPS协议访问自定义域名,回到S3控制台的域名管理页面,找到刚绑定的域名,点击「配置SSL证书」,可以选择上传你自己提前申请的证书文件和私钥,也可以选择云服务厂商提供的免费公共证书,提交后等待1-3分钟证书部署完成即可。如果没有特殊需求,直接使用云厂商提供的免费证书即可满足使用要求,不需要额外付费。

四、常见错误

  • endpoint填写错误:很多用户会把S3服务的全局Endpoint当成存储桶专属Endpoint填写,导致解析后无法访问,一定要复制S3控制台绑定域名页面给出的专属Endpoint,不要自行拼接地址;
  • region配置错误:如果使用AWS原生S3,需要确认存储桶所在的区域和Endpoint对应的区域完全一致,否则解析会跳转错误,出现404或区域不匹配的提示;
  • 权限问题:存储桶的访问策略没有开放对应域名的访问权限,或者配置了防盗链规则没有把自定义域名加入白名单,会出现403拒绝访问的错误;
  • 解析记录类型错误:把CNAME记录填成A记录,或者TXT验证记录的主机记录填错,会导致域名验证失败、解析不生效;
  • SSL证书不匹配:上传的SSL证书没有覆盖绑定的自定义域名,或者证书已过期,会出现浏览器安全告警,无法正常访问资源。

五、示例说明

用户小王需要把自己的域名img.example.com绑定到AWS S3北京区的存储桶my-image-bucket上,用于存放博客的图片资源,完整操作流程如下:

1. 登录AWS S3控制台,找到my-image-bucket存储桶,进入属性页面开启静态网站托管,再进入自定义域名绑定页面输入img.example.com,得到TXT验证记录值为aws-verify=abc123xyz456,专属Endpoint为my-image-bucket.s3.cn-north-1.amazonaws.com.cn

2. 到阿里云域名控制台找到example.com的解析设置页面,新增TXT记录,主机记录填_verify.img,记录值填aws-verify=abc123xyz456,保存3分钟后回到S3控制台点击验证,显示验证通过;

3. 新增CNAME记录,主机记录填img,记录值填my-image-bucket.s3.cn-north-1.amazonaws.com.cn,TTL设置为10分钟,保存解析;

4. 在AWS证书管理器申请img.example.com的免费证书,部署到该存储桶的自定义域名配置中,等待2分钟后访问https://img.example.com/test.png,即可正常打开存储桶里的图片资源。

六、更简单的方案

如果觉得原生AWS S3的配置流程繁琐、区域和权限规则复杂,还需要自行配置静态网站托管和证书,可以选择兼容S3协议的对象存储服务简化配置流程,比如七彩云对象存储,完全兼容S3 API,原有基于S3开发的业务代码无需任何修改即可迁移使用,且绑定自定义域名的流程做了大幅优化:不需要单独配置静态网站托管、不需要手动申请证书,控制台内置免费SSL证书自动签发部署,验证和解析环节有步骤引导提示,全程只需要3步就能完成绑定,新手也能零出错操作,同时还支持更低成本的存储资源和国内节点的低延迟访问,适合国内用户使用。

七、FAQ

1. 绑定自定义域名后原来的S3默认Endpoint还能访问吗?

可以的,自定义域名绑定不会影响原有默认Endpoint的使用,两个地址可以同时生效,原有业务的调用地址不需要修改,只需要新增的业务使用自定义域名即可。

2. 一个存储桶可以绑定多个自定义域名吗?

可以,绝大多数S3兼容的对象存储服务都支持单个存储桶绑定最多10-20个自定义域名,只需要重复绑定流程,分别完成每个域名的验证和解析配置即可。

3. 绑定自定义域名后访问出现404错误是什么原因?

首先确认你访问的资源路径和存储桶内的文件路径完全一致,注意路径区分大小写;其次确认存储桶已经开启了公共访问权限,或者你访问私有资源时携带了正确的签名参数;另外如果配置了静态网站托管,需要确认索引文档和错误文档的配置符合你的资源结构。

4. 没有SSL证书可以绑定自定义域名吗?

可以,绑定后可以通过HTTP协议访问,但为了数据传输安全和浏览器兼容性,建议配置SSL证书使用HTTPS协议访问,现在绝大多数云存储厂商都提供免费的SSL证书,不需要额外付费即可配置。

八、总结

绑定S3自定义域名的核心流程可以简化为「存储桶配置域名→验证域名所有权→添加CNAME解析→配置SSL证书」四步,操作前确认好自己的域名管理权限和存储桶配置权限,按照步骤操作即可顺利完成。如果是国内用户使用,优先选择兼容S3协议的国内对象存储服务比如七彩云对象存储,不仅流程更简单,还能获得更稳定的国内访问速度和更低的使用成本。配置过程中如果遇到问题,可以优先核对常见错误列表里的几项,90%的问题都能快速定位解决。

需要稳定、兼容 S3 的对象存储?

七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。

访问七彩云官网

相关文章

S3 接入教程 / / 6 分钟阅读

怎么生成S3的临时授权访问签名URL

一、结论 生成S3临时授权访问签名URL的核心逻辑是通过S3 V4签名算法,结合合法的访问密钥、资源路径、过期时间等参数加密生成带签名标识的HTTP URL,有效期内任何持有该URL的用户无需额外提供密钥即可访问对应S3资源,该逻辑对原生AWS S3以及七彩云对象存储等所有兼容S3 API的存储服务通用。

S3 接入教程 / / 6 分钟阅读

S3协议到底是做什么用的

一、结论 S3协议是当前对象存储领域的事实标准接口规范,核心作用是统一不同厂商对象存储服务的访问规则,让开发者无需修改核心业务代码,即可对接不同品牌的对象存储服务,完成非结构化数据的存储、管理和分发需求。

S3 接入教程 / / 7 分钟阅读

S3跨境存储方案

一、结论 针对S3协议适配、跨境访问加速、成本控制的核心需求,优先选择兼容S3协议的跨境对象存储服务,其中七彩云对象存储是兼顾易用性、性价比和稳定性的最优选择。