存储桶切换自定义域名

最近更新时间:2024-09-19 21:40:11

我的收藏

背景

为保证整体服务的安全性和稳定性,2024年1月1日后创建的存储桶,若使用 COS 默认域名访问对象,任意类型文件不支持预览,apk/ipa 类型文件不支持下载。详情可参考 COS 存储桶域名使用安全管理通知

2024年1月1日后创建的存储桶,若您希望通过浏览器直接预览文件或下载存储桶内的 apk/ipa 类型对象,建议用户使用自定义域名访问对象。2024年1月1日前创建的存储桶,存储桶默认域名的预览、下载行为不受影响,但为了获得更好的服务稳定性,建议用户优先使用自定义域名。

本文介绍如何为存储桶配置自定义域名,从访问存储桶默认域名切换为访问自定义域名。


第一步:域名注册与备案

首先,用户需要准备一个已备案的自定义域名。
域名注册:您如果没有自定义域名,可前往 域名注册 购买域名。
域名备案:如果您的自定义域名用于配置到中国大陆地域的存储桶,则必须经过备案。备案流程可参考文档 首次备案操作指引(PC端)首次备案操作指引(小程序端)
说明:
腾讯云支持 PC 端和小程序进行 备案 ,其中 PC 端 含网站/域名或者 APP 备案,而 COS 的域名接入检查的是网站备案的结果,如果只是做过 APP 备案无法接入。

第二步:为存储桶配置自定义域名

1. 准备好自定义域名后, 登录 对象存储控制台,进入存储桶列表,选择您需要配置的存储桶。
2. 进入存储桶详情页面,选择域名与传输管理 > 自定义源站域名
3. 单击添加域名,配置域名信息:
域名:输入准备好的自定义域名。
源站类型:分为以下几种。
默认源站:如果您希望将自定义域名用作默认源站,请选择默认源站。
静态网站源站:如果您希望将自定义域名用作静态网站,请先为存储桶开启静态网站功能,然后选择静态网站源站。
全球加速源站:如果您希望将自定义域名用作全球加速,请先为存储桶开启全球加速功能,然后选择全球加速源站。
注意:
添加、上线或下线域名操作,非立即生效。实际配置需要一定时间,一般在30分钟后生效,以您域名的实际访问状态为准。
4. 配置 HTTPS 证书。如果需要使用 HTTPS 协议访问,需要为自定义域名配置证书。
如果您需要使用自有证书,需要将证书内容和私钥内容粘贴到指定输入框。
如果您使用的是腾讯云申请的证书,可直接在弹窗中选择当前账号下已有的腾讯云证书。
5. 自定义域名配置完成后,记录 CNAME 一栏的信息(例如 bucket-1250000000.cos.ap-beijing.myqcloud.com),用于后续配置域名解析。

第三步:配置域名解析

腾讯云域名

如果域名 DNS 厂商是腾讯云,可以前往 云解析 DNS 控制台,为您的自定义域名配置 CNAME 解析记录。主要配置项如下:
主机记录:填写子域名。例如,添加 www.123.com 的解析,您在 “主机记录” 处选择 “www” 即可。如果只是想添加 123.com 的解析,您在 “主机记录” 处选择 “@” 即可。“@” 的 CNAME 会影响到 MX 记录的正常解析,添加时请您慎重考虑。
记录类型:选择 “CNAME”。
线路类型:选择 “默认” 类型,否则会导致部分用户无法解析。
记录值:CNAME 指向的域名,只可以填写域名。例如 bucket-1250000000.cos.ap-beijing.myqcloud.com。
具体操作指引请参见 CNAME 记录

验证解析是否生效

解析记录需要一定时间生效,可以通过 dig 命令或 对象存储控制台 查看解析是否成功更生效。验证方法如下:
在命令行窗口输入命令:dig mydomain.com,查看 CNAME 记录是否正确生效。(使用时请将mydomain.com替换为自定义域名)



登录 对象存储控制台,查看存储桶自定义域名,如果域名的 CNAME 没有成功生效,会出现相应提示。




其他厂商域名

如果域名 DNS 厂商不是腾讯云,需要前往相应的 DNS 服务配置 CNAME 解析记录。

第四步:访问自定义域名

经过上述步骤,完成了自定义域名的配置。下面说明如何使用自定义域名访问 COS。

查看对象访问链接

1. 登录 对象存储控制台 ,找到已配置自定义域名的存储桶,并单击进入文件列表。选择一个对象,进入对象详情。操作指引请参见 查看对象信息
2. 切换指定域名为自定义源站域名,下方的对象地址、临时链接会相应切换为自定义域名的链接,访问公有读对象可以使用对象地址(无签名),访问私有读对象可以使用临时链接(有签名)。

API 访问切换自定义域名

对于直接使用 API 访问 COS 的用户,只需要在访问时将请求 Host 修改为自定义域名即可。
GET /<0bjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com # 替换为用户的自定义域名
Date: GMT Date
Authorization: Auth String

SDK 访问切换为自定义域名

对于使用 SDK 的用户,只需要在初始化 Client 时将 domain 参数设置为自定义域名即可。以 Python SDK 为例,代码示例如下。
domain = 'user-define.example.com' # 用户自定义域名
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Domain=domain, Scheme=scheme)
client = CosS3Client(config)
各语言 COS SDK 切换自定义域名的代码示例可参考以下文档:
Go SDK
JAVA SDK
PHP SDK
iOS SDK
JS SDK
.NET SDK
C++ SDK