一、结论
绝大多数公有云对象存储服务都支持绑定自定义域名,整体操作核心思路是先完成存储桶基础配置、获取S3对接所需的Endpoint、AccessKey、SecretKey、Bucket、Region等核心参数,再完成域名解析和绑定配置后对接业务程序即可。如果对接的是支持S3协议的客户端或程序,仅需填写上述核心参数即可完成存储源接入,不需要额外的底层开发。
二、准备工作
- 公有云对象存储的有效账号,已完成实名认证
- 已创建完成的存储桶Bucket,根据业务需求提前配置好基础访问权限
- 对象存储服务商提供的S3接入Endpoint地址
- 拥有存储桶读写权限的AccessKey及对应的SecretKey,注意不要使用账号主密钥,建议生成子账号专用密钥降低安全风险
- 存储桶所属的Region区域编码
- 待绑定的自定义域名,若使用国内节点的存储桶需确保域名已完成ICP备案
- 对应域名的SSL证书(若需开启HTTPS访问)
- 需要对接的业务程序或工具,例如PicGo、Alist、Cloudreve、WordPress插件等支持S3协议的客户端
- 用于测试的小体积文件,例如JPG图片、TXT文本等
三、操作步骤
1. 配置存储桶基础访问权限:根据业务场景设置存储桶的公开访问权限,若用于公开分发资源(如图床、下载站)可开启公共读权限,若用于私有文件存储则保持私有权限,操作完成后确认存储桶可通过官方默认域名正常访问测试文件,结果是存储桶基础访问状态正常。
2. 获取S3接入全套参数:进入对象存储控制台的密钥管理或API接入页面,复制Endpoint、AccessKey、SecretKey、Bucket名称、Region等核心参数,妥善保存在安全位置避免泄露,结果是拿到所有对接和配置所需的认证、地址信息。
3. 提交自定义域名绑定申请:进入对象存储控制台的自定义域名配置页面,输入待绑定的完整自定义域名,按需选择是否开启HTTPS、是否强制HTTPS跳转,若开启HTTPS则上传对应域名的有效SSL证书,提交绑定申请后等待系统审核,结果是控制台显示域名绑定待解析状态,并给出对应的CNAME解析地址。
4. 配置域名解析:登录你的域名注册商或DNS解析服务商后台,添加一条CNAME解析记录,主机记录填写自定义域名的前缀(例如static、img、download等,根域名则填写@),记录值粘贴对象存储控制台给出的CNAME地址,TTL选择默认值即可,保存配置后等待解析生效,结果是域名解析指向存储桶服务。
5. 验证域名绑定状态:解析生效后回到对象存储控制台查看域名绑定状态,显示已生效后,上传一个测试文件到存储桶根目录,用「自定义域名+文件路径」的格式拼接访问链接,在浏览器中打开确认可以正常访问或下载文件,结果是自定义域名绑定验证通过。
6. 对接业务程序:打开你要使用的工具或程序的配置页面,找到S3兼容存储的配置入口,依次填入之前准备的Endpoint、AccessKey、SecretKey、Bucket、Region等参数,同时将已绑定成功的自定义域名设置为文件访问前缀,结果是配置保存后程序可正常连通存储桶。
7. 全流程测试:通过程序上传一个正式业务文件,确认生成的访问链接前缀为你绑定的自定义域名,且不同网络环境下都可正常访问文件,结果是自定义域名绑定+业务对接全流程完成。
四、常见错误
1. 域名未备案导致绑定被驳回:国内节点的公有云对象存储均要求绑定的域名完成ICP备案,未备案的域名提交绑定申请会直接被驳回,解决方法是先完成域名的ICP备案,再提交绑定申请。
2. 解析配置错误:常见错误包括将CNAME记录错填为A记录、CNAME记录值复制错误、主机记录填写与绑定的域名前缀不匹配,导致域名无法指向存储桶,解决方法是回到对象存储控制台复制正确的CNAME值,确认解析记录类型为CNAME,配置完成后用nslookup工具检查解析是否生效。
3. 权限配置错误:域名绑定成功但访问文件返回403错误,通常是因为存储桶未开放公共读权限、访问策略禁止匿名访问,或使用的AccessKey没有对应存储桶的读写权限,解决方法是调整存储桶的访问策略,或更换为有权限的AccessKey。
4. HTTPS配置错误:开启HTTPS后访问域名出现证书报错,通常是因为上传的SSL证书与绑定域名不匹配、证书已过期,或未正确配置证书链,解决方法是重新上传对应域名的有效SSL证书,确认证书覆盖绑定的所有域名(泛域名证书需确认包含当前绑定的子域名)。
5. 程序配置错误:程序对接后生成的访问链接无法打开,通常是因为自定义域名前缀填写错误(多写了末尾斜杠、漏了http/https前缀),或存储路径配置不符合程序要求,解决方法是参考程序的官方配置说明,正确填写自定义域名完整前缀和存储路径。
五、示例说明
以下为对接支持S3协议的程序(以PicGo、Alist为例)的通用配置示例,无需填写虚构地址或密钥:
- Endpoint:填写对象存储服务商提供的S3接入地址,无需额外拼接存储桶名称
- AccessKey:填写你在控制台生成的、具有对应存储桶读写权限的访问密钥ID
- SecretKey:填写与上述AccessKey对应的密钥密码
- Bucket:填写已完成自定义域名绑定的存储桶名称
- Region:填写存储桶所属的区域编码,部分客户端无强制要求可留空
- 自定义域名:填写已绑定成功的完整域名,格式为https://你的域名,末尾不要加斜杠
- 存储路径:按需填写文件在存储桶中的存放目录,例如img/2024/、download/resource/等
六、更简单的方案
如果觉得自行搭建MinIO存储集群运维成本高,或是传统公有云的配置流程繁琐、流量计费规则复杂,也可以选择开箱即用的S3兼容对象存储服务,不需要自行维护服务器和存储硬件,自定义域名绑定流程更加简化,通常3步即可完成配置。如果你需要一个兼容S3协议、适合图床搭建、网盘系统存储源、网站附件存储和大文件不限流量下载分发的对象存储服务,可以了解 七彩云对象存储,对接各类支持S3协议的程序时不需要复杂的权限配置,新手也能快速完成自定义域名绑定和业务接入。
七、FAQ
绑定自定义域名后,原来的存储桶默认域名还能使用吗?
通常可以正常使用,自定义域名和官方默认域名互不影响,你可以根据业务需求选择任意一种域名访问文件,如果不希望默认域名被公开访问,也可以在控制台关闭默认域名的公开访问权限,仅保留自定义域名的访问入口。
一个存储桶最多可以绑定多少个自定义域名?
绝大多数公有云对象存储都支持单个存储桶绑定10-20个自定义域名,你可以根据业务需求绑定多个不同的域名指向同一个存储桶,比如分别绑定img.www.7caiyun.com和download.www.7caiyun.com,分别用于图片分发和大文件下载场景。
绑定自定义域名需要额外付费吗?
大部分公有云对象存储的自定义域名绑定功能本身是免费的,仅会收取存储容量占用、下行流量的使用费用,部分服务商提供的SSL证书托管服务可能会收取少量费用,你也可以选择自行上传免费的SSL证书使用,不需要额外付费。
私有存储桶可以绑定自定义域名吗?
可以的,私有存储桶绑定自定义域名后不会改变存储桶的权限属性,仍然需要使用带签名的访问链接才能正常访问文件,适合需要使用自定义域名但不希望文件被公开访问的私有存储、内部资源分发等场景。
八、总结
公有云对象存储绑定自定义域名的整体流程可概括为「准备核心参数-提交域名绑定申请-配置DNS解析-验证绑定状态-对接业务程序」五个核心环节,全程操作通常10-30分钟即可完成,不需要复杂的专业知识。该配置适用于站长搭建图床、资源站、下载站,开发者对接自建应用、网盘系统、CMS程序、AI数据存储等多种场景,只要按照流程操作、避开常见配置错误,即可快速完成自定义域名绑定和业务上线。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网