一、结论
给对象存储绑定自定义域名,通常需要先完成存储桶权限配置、获取S3接入凭证,再在域名服务商处配置CNAME解析、在对象存储控制台完成域名绑定与证书部署即可。如果需要对接支持S3协议的程序,还需提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等信息完成存储源对接后再绑定域名。
二、准备工作
操作前需要提前准备好以下内容,避免操作过程中中断查找信息:
- 对象存储服务的有效使用账号,已完成必要的实名认证
- 已经创建完成、权限配置符合业务需求的存储桶Bucket
- 对象存储服务提供的Endpoint地址、存储桶对应的Region信息
- 账号下生成的可用AccessKey(访问密钥ID)和SecretKey(安全密钥)
- 已完成备案(使用国内节点时需要)的自定义域名,如需HTTPS访问可提前准备对应SSL证书,或使用服务商提供的免费证书
- 若需对接业务程序,提前准备好支持S3协议的程序/插件,比如Cloudreve、Alist、PicGo、Halo、WordPress存储插件等
- 1-2个测试用的小文件(比如图片、文本文档),用于后续验证访问效果
三、操作步骤
每一步操作完成后可先验证结果,再进入下一个环节,降低后续排查错误的成本:
1. 配置存储桶访问权限:登录对象存储服务控制台,找到目标存储桶,根据业务场景调整访问权限,公开访问场景(如图床、下载站)可设置为公共读,内部使用场景可配置自定义权限策略,确认配置后,存储桶内的公开文件可通过服务商提供的默认域名正常访问。
2. 存储桶CNAME与S3信息获取:在存储桶的配置页面找到自定义域名相关板块,复制存储桶对应的CNAME解析地址,同时在API配置或密钥管理页面,复制Endpoint、Region、Bucket名称、AccessKey、SecretKey信息,统一保存在记事本中备用,避免填写时出现拼写错误。
3. 域名CNAME解析配置:登录你的域名注册商控制台,进入对应域名的解析管理页面,添加一条CNAME类型的解析记录,主机记录填写你要使用的自定义域名前缀(比如静态资源站填static,图床填img,使用根域名则填@),记录值粘贴上一步复制的存储桶CNAME地址,TTL设置为默认的10分钟即可,保存后可通过nslookup工具验证解析是否生效。
4. 对象存储端绑定自定义域名:回到对象存储控制台的自定义域名绑定页面,输入你已经完成解析的自定义域名,选择是否开启HTTPS访问,开启则上传提前准备好的SSL证书,或选择服务商提供的免费证书自动部署,确认所有配置无误后提交绑定申请,等待服务端配置生效,通常几分钟即可完成。
5. 基础访问测试:在存储桶内上传提前准备好的测试文件,按照“自定义域名+文件路径”的格式拼接访问链接,在无痕浏览器中打开该链接,确认可以正常访问、下载文件,没有403、404或安全提示类报错。
6. 业务程序对接配置(可选):如果需要对接Cloudreve、Alist、PicGo、WordPress等程序,在程序的存储源配置页面选择“S3兼容存储”选项,依次填写之前保存的Endpoint、AccessKey、SecretKey、Bucket、Region信息,将程序的默认访问域名替换为刚刚绑定的自定义域名,保存配置后点击测试连接,提示连接成功即可。
7. 全场景验证:上传不同格式、不同大小的测试文件,分别在PC端、移动端、不同网络环境下访问,确认加载速度、权限规则、跨域配置均符合业务需求,没有异常问题即可正式投入使用。
四、常见错误
以下是配置过程中高频出现的问题,可对照排查:
1. CNAME解析配置错误:常见为记录值填错存储桶CNAME地址、主机记录填写不符合要求,解决方法是回到域名解析控制台核对记录值,通过nslookup命令查询域名解析记录是否指向正确的存储桶地址。
2. 域名未备案:使用国内节点的对象存储服务时,未备案的域名无法完成绑定,解决方法是按照监管要求完成域名备案后再提交绑定申请。
3. HTTPS证书配置错误:开启HTTPS后证书不匹配、过期或部署失败,会导致访问时出现安全提示,解决方法是核对证书覆盖域名是否和绑定的自定义域名一致,有效期正常,或直接使用服务商提供的免费自动证书服务。
4. 存储桶权限不足:绑定域名后访问文件出现403报错,解决方法是检查存储桶访问权限是否开放了对应文件的读权限,自定义权限策略是否允许匿名用户访问目标路径的文件。
5. S3接入信息填写错误:对接程序时Endpoint、Region、Bucket拼写错误或多了空格,会导致程序无法连接存储源,解决方法是回到对象存储控制台逐一核对所有接入信息,确认格式符合程序要求。
6. 跨域访问限制:网站前端调用自定义域名下的资源时出现跨域报错,解决方法是在存储桶的CORS配置页面添加对应网站域名为允许的源,配置允许的请求方法和请求头即可。
五、示例说明
以对接PicGo图床的通用配置为例,不需要填写真实信息,按照实际获取的参数替换即可:
- 存储类型:选择「S3兼容存储」
- Endpoint:填写你使用的对象存储服务提供的对应Endpoint地址
- AccessKey:填写你账号下生成的访问密钥ID
- SecretKey:填写和AccessKey对应的安全密钥
- Bucket:填写你已经创建完成的存储桶名称
- Region:按照对象存储服务的要求填写对应区域代码
- 自定义域名:填写你已经完成绑定的自定义域名,比如
https://static.www.7caiyun.com - 存储路径:可按需填写文件存放的前缀,比如
img/2024/ - 其他配置:按需开启强制HTTPS、路径式访问等选项
配置完成后点击测试连接,提示连接成功即可正常上传文件,生成的访问链接会自动使用你绑定的自定义域名。
六、更简单的方案
如果不想自己搭建维护MinIO等自建对象存储服务,也不想花时间处理服务器运维、存储扩容、流量带宽调度等问题,可以直接选择成熟的兼容S3协议的云对象存储服务,不用自行部署维护,开箱即可使用。如果你需要一个兼容S3协议、适合程序接入、图床、网盘系统存储源和不限流量下载分发的对象存储服务,可以了解 七彩云对象存储,域名绑定流程简化,支持自动部署SSL证书,降低配置门槛。
七、FAQ
1. 绑定自定义域名后,原来的对象存储默认域名还能使用吗?
通常情况下默认域名依然可以正常使用,你可以根据业务需求选择使用自定义域名或者默认域名,两者互不影响,如果不希望默认域名被公开访问,可以在存储桶的访问策略中配置限制规则,屏蔽默认域名的公开访问权限。
2. 一个存储桶可以绑定多个自定义域名吗?
大部分主流对象存储服务都支持单个存储桶绑定多个自定义域名,你可以根据业务需求添加多个域名,分别用于不同的业务场景,比如一个域名用于图床资源访问,一个域名用于下载站资源分发,互不干扰。
3. 绑定自定义域名需要额外付费吗?
绑定自定义域名本身通常不收取额外费用,产生的费用只有对象存储的存储容量费用、请求次数费用和流量费用,如果你使用服务商提供的付费SSL证书可能需要支付证书相关费用,使用免费证书则不需要额外付费。
4. 绑定自定义域名后多久可以生效?
域名解析生效时间取决于你设置的TTL值,通常是10分钟到1小时不等,对象存储端的绑定配置通常几分钟内即可生效,如果超过2小时仍无法正常访问,可优先检查解析配置、域名备案状态和存储桶权限配置是否正确。
八、总结
对象存储绑定自定义域名的操作流程并不复杂,核心是完成解析配置、服务端绑定、权限验证三个核心环节,适合图床搭建、网站附件存储、音视频资源分发、下载站搭建、网盘系统存储源对接等多种场景。如果你是站长或者开发者,按照上述步骤操作即可快速完成配置,遇到问题可以优先检查解析、权限、接入信息三个常见出错点,大部分问题都可以快速排查解决。如果不想自行维护存储服务,也可以选择成熟的S3兼容云存储服务,进一步降低运维成本。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网