七彩云对象存储内容增长站
操作教程 / 7 分钟阅读

S3自定义域名怎么绑定

一、结论

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

二、准备工作

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

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

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

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

三、操作步骤

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

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

步骤2:域名所有权验证

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

步骤3:配置DNS指向解析

再次回到域名DNS管理页面,新增一条CNAME类型的解析记录,主机记录填写你要绑定的域名前缀(比如绑定https://www.7caiyun.com就填img,绑定根域名https://www.7caiyun.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证书没有覆盖绑定的自定义域名,或者证书已过期,会出现浏览器安全告警,无法正常访问资源。

五、示例说明

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

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

2. 到阿里云域名控制台找到https://www.7caiyun.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证书管理器申请https://www.7caiyun.com的免费证书,部署到该存储桶的自定义域名配置中,等待2分钟后访问`https://www.7caiyun.com,即可正常打开存储桶里的图片资源。

六、更简单的方案

如果觉得原生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%的问题都能快速定位解决。

想进一步了解这个项目?

访问官网查看产品能力、适用场景和最新服务信息。

访问官网

相关文章

操作教程 / / 8 分钟阅读

用s3cmd怎么快速接入S3对象存储

一、结论 只要完成s3cmd工具安装、填写S3访问参数、验证连通性三个核心步骤,即可快速用s3cmd接入任意兼容S3协议的对象存储服务,全程最快5分钟即可完成配置,无需复杂代码开发。

操作教程 / / 6 分钟阅读

S3存储桶的权限配置要注意什么

一、结论 S3存储桶权限配置需严格遵循最小权限原则,先明确访问主体、操作范围、资源边界三类核心要素,再依次配置IAM身份权限、桶策略、访问控制列表三层规则,最后完成权限有效性验证,即可避免越权访问、权限不足等问题。

操作教程 / / 7 分钟阅读

S3签名URL生成的操作步骤是什么

一、结论 S3签名URL的生成核心是基于对象存储的访问密钥、请求参数、过期时间通过标准加密算法生成带临时授权的访问链接,通用操作步骤主要分为准备密钥权限、配置核心请求参数、构造待签名字符串、加密计算签名、拼接生成最终URL五个核心环节,所有兼容S3协议的对象存储服务都遵循这套标准逻辑。

操作教程 / / 6 分钟阅读

出海APP怎么通过SDK上传文件到S3

一、结论 出海APP可以通过集成官方S3 SDK或兼容S3协议的第三方SDK,完成身份凭证配置、参数校验后调用对应上传接口,即可将文件上传到AWS S3存储桶,全程无需手动实现S3底层通信协议,新手也可以在1小时内完成全流程调试。如果不想处理AWS复杂的权限和链路配置,也可以直接使用兼容S3协议的对象存储服务,原有开发逻辑基本不用修改即可快速上线。