对象存储 存储桶切换自定义域名

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

相关产品
对象存储 产品页,含版本规格、价格与购买入口。

一、背景

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

这篇说说如何为存储桶配置自定义域名,从访问存储桶默认域名切换为访问自定义域名。

二、第一步:域名注册与备案

首先,用户需要准备一个已备案的自定义域名。

·域名注册:你如果没有自定义域名,可前往 域名注册 购买域名。

·域名备案:如果你的自定义域名用于配置到中国大陆地域的存储桶,则必须经过备案。备案流程可参考文档 首次备案操作指引(PC 端)、首次备案操作指引(小程序端)。

注意:说明:

注意:腾讯云支持 PC 端和小程序进行 备案 ,其中 PC 端 含网站/域名或者 APP 备案,而 COS 的域名接入检查的是网站备案的结果,如果只是做过 APP 备案无法接入。

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

1. 准备好自定义域名后, 登录 对象存储控制台,进入存储桶列表,选择你需要配置的存储桶。

2. 进入存储桶详情页面,选择域名与传输管理 > 自定义源站域名。

3. 单击添加域名,配置域名信息:

·域名:输入准备好的自定义域名。

·源站类型:分为以下几种。

·默认源站:如果你希望将自定义域名用作默认源站,请选择默认源站。

·静态网站源站:如果你希望将自定义域名用作静态网站,请先为存储桶开启静态网站功能,然后选择静态网站源站。

·全球加速源站:如果你希望将自定义域名用作全球加速,请先为存储桶开启全球加速功能,然后选择全球加速源站。

·CNAME:默认为当前存储桶默认域名。

·强制 HTTPS:开启后,HTTP 请求将被 302 重定向至 HTTPS。

4. 配置完成后,单击添加,即可在列表页看到已配置的自定义源站域名。记录 CNAME 一栏的信息(例如 bucket-1250000000.cos.ap-beijing.myqcloud.com),用于后续配置域名解析。

注意:添加、上线或下线域名操作,非立即生效。实际配置需要一定时间,一般在30分钟后生效,以你域名的实际访问状态为准。

5. 配置 HTTPS 证书。如果需要使用 HTTPS 协议访问,需要为自定义域名配置证书。更多详细操作指引,请参见 开启自定义源站域名。

四、腾讯云域名

如果域名 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 /<ObjectKey> 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 切换自定义域名的代码示例可参考以下 SDK 文档:

Android、C、C++、.NET(C#)、Flutter 、Go、iOS、Java、JavaScript、Node.js、PHP、Python、React Native 、小程序、鸿蒙(Harmony)。

赞 (0)
上一篇 4天前
下一篇 4天前