背景
为保证整体服务的安全性和稳定性,2024年1月1日后创建的存储桶,若使用 COS 默认域名访问对象,任意类型文件不支持预览,apk/ipa 类型文件不支持下载。详情可参考 COS 存储桶域名使用安全管理通知。
2024年1月1日后创建的存储桶,若您希望通过浏览器直接预览文件或下载存储桶内的 apk/ipa 类型对象,建议用户使用自定义域名访问对象。2024年1月1日前创建的存储桶,存储桶默认域名的预览、下载行为不受影响,但为了获得更好的服务稳定性,建议用户优先使用自定义域名。
本文介绍如何为存储桶配置自定义域名,从访问存储桶默认域名切换为访问自定义域名。
第一步:域名注册与备案
首先,用户需要准备一个已备案的自定义域名。
域名注册:您如果没有自定义域名,可前往 域名注册 购买域名。
域名备案:如果您的自定义域名用于配置到中国大陆地域的存储桶,则必须经过备案。备案流程可参考文档 首次备案操作指引(PC端)、首次备案操作指引(小程序端)。
第二步:为存储桶配置自定义域名
1. 准备好自定义域名后, 登录 对象存储控制台,进入存储桶列表,选择您需要配置的存储桶。
2. 进入存储桶详情页面,选择域名与传输管理 > 自定义源站域名。
3. 单击添加域名,配置域名信息:
域名:输入准备好的自定义域名。
源站类型:分为以下几种。
默认源站:如果您希望将自定义域名用作默认源站,请选择默认源站。
静态网站源站:如果您希望将自定义域名用作静态网站,请先为存储桶开启静态网站功能,然后选择静态网站源站。
全球加速源站:如果您希望将自定义域名用作全球加速,请先为存储桶开启全球加速功能,然后选择全球加速源站。
注意:
添加、上线或下线域名操作,非立即生效。实际配置需要一定时间,一般在30分钟后生效,以您域名的实际访问状态为准。
4. 配置 HTTPS 证书。如果需要使用 HTTPS 协议访问,需要为自定义域名配置证书。
如果您需要使用自有证书,需要将证书内容和私钥内容粘贴到指定输入框。
如果您使用的是腾讯云申请的证书,可直接在弹窗中选择当前账号下已有的腾讯云证书。
5. 自定义域名配置完成后,记录 CNAME 一栏的信息(例如 bucket-1250000000.cos.ap-beijing.myqcloud.com),用于后续配置域名解析。
第三步:配置域名解析
腾讯云域名
主机记录:填写子域名。例如,添加
www.123.com
的解析,您在 “主机记录” 处选择 “www” 即可。如果只是想添加 123.com
的解析,您在 “主机记录” 处选择 “@” 即可。“@” 的 CNAME 会影响到 MX 记录的正常解析,添加时请您慎重考虑。记录类型:选择 “CNAME”。
线路类型:选择 “默认” 类型,否则会导致部分用户无法解析。
记录值:CNAME 指向的域名,只可以填写域名。例如 bucket-1250000000.cos.ap-beijing.myqcloud.com。
验证解析是否生效
在命令行窗口输入命令:
dig mydomain.com
,查看 CNAME 记录是否正确生效。(使用时请将mydomain.com
替换为自定义域名)
登录 对象存储控制台,查看存储桶自定义域名,如果域名的 CNAME 没有成功生效,会出现相应提示。
其他厂商域名
如果域名 DNS 厂商不是腾讯云,需要前往相应的 DNS 服务配置 CNAME 解析记录。
第四步:访问自定义域名
经过上述步骤,完成了自定义域名的配置。下面说明如何使用自定义域名访问 COS。
查看对象访问链接
2. 切换指定域名为自定义源站域名,下方的对象地址、临时链接会相应切换为自定义域名的链接,访问公有读对象可以使用对象地址(无签名),访问私有读对象可以使用临时链接(有签名)。
API 访问切换自定义域名
对于直接使用 API 访问 COS 的用户,只需要在访问时将请求 Host 修改为自定义域名即可。
GET /<0bjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.com # 替换为用户的自定义域名Date: GMT DateAuthorization: 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
C 语言 SDK
小程序SDK