静态网站
静态网站指包含静态内容(例如 HTML)或客户端脚本的网站,用户可以通过 对象存储控制台 对已绑定自定义域名的存储桶,配置静态网站。而动态网站的内容包含 PHP、JSP 或 ASP.NET 等服务器端脚本,需要依赖服务器端处理。腾讯云对象存储(Cloud Object Storage,COS)支持静态网站的托管,不支持服务器端脚本编写。当您需要部署动态网站时,推荐使用 云服务器(Cloud Virtual Machine,CVM) 进行服务端代码部署。
这里将举例介绍托管静态网站的能力。
用户创建名为 examplebucket-1250000000 的存储桶,上传了如下文件:
index.html404.html403.htmltest.htmldocs/a.htmlimages/
开启前:使用如下默认访问域名访问存储桶,弹出下载提示,可以保存
index.html
文件到本地。https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/index.html
开启后:使用如下访问节点访问存储桶,可以直接在浏览器中查看
index.html
的页面内容。https://examplebucket-1250000000.cos-website.ap-guangzhou.myqcloud.com/index.html
注意:
2024年1月1日后创建的存储桶,不再支持通过 COS 默认域名(包括静态网站域名)直接访问对象,详情请参见 COS 存储桶域名使用安全管理通知(2024年1月施行)。您可通过自定义域名访问对象。详情请参见 开启自定义源站域名。
强制 HTTPS
开启前:请求来源为 HTTP 时,访问节点 URL 保持 HTTP 未加密的传输协议。
http://examplebucket-1250000000.cos-website.ap-guangzhou.myqcloud.com
开启后:无论请求来源为 HTTP 或 HTTPS,访问节点始终保持 HTTPS 加密的传输协议。
https://examplebucket-1250000000.cos-website.ap-guangzhou.myqcloud.com
索引文档
索引文档即静态网站的首页,是当用户对网站的根目录或任何子目录发出请求时返回的网页,通常此页面被命名为
index.html
。
当用户使用存储桶访问域名(例如 https://examplebucketbucket-1250000000.cos-website.ap-guangzhou.myqcloud.com
)访问静态网站时,且未请求特定的页面。在这种情况下,Web 服务器将返回首页。您的用户访问存储桶包括根目录在内的任何目录,URL 地址以
/
为结尾的会优先自动匹配该目录下的索引文档。根级 URL 的/
是可选的,以下任意一个 URL 将返回索引文档。http://www.examplebucket.com/http://www.examplebucket.com
注意:
如果存储桶中创建了文件夹,则需要在每个文件夹层级上都添加索引文档。
错误文档
假设您在配置错误文档前,访问以下页面,将返回404状态码,页面上显示为默认的错误页面信息。
https://examplebucket-1250000000.cos-website.ap-guangzhou.myqcloud.com/webpage.html
配置错误文档后,访问以下页面,同样返回404状态码,但页面上将显示您所指定的错误页面信息。
https://examplebucket-1250000000.cos-website.ap-guangzhou.myqcloud.com/webpage.html
重定向规则
说明:
托管静态网站配置重定向规则,替换文档路径必须是存储桶内的对象路径。
重定向规则优先级是先触发强制 HTTPS 或前缀匹配重定向,最后触发错误码跳转。
配置错误码重定向
假设您为 webpage.html 这个文档设置了私有读写的访问权限,用户访问该文件时,将返回403错误。
配置403错误码重定向至 403.html 后:浏览器将返回 403.html 的内容。
如果您未配置 403.html 文档,浏览器将返回错误文档或默认错误信息。


配置前缀匹配
注意:
前缀匹配不支持通配符。如您希望对前缀为 index1/、index2/ 的两个文件夹进行重定向,不能使用
index*/
作为匹配规则,需要分别创建对应的匹配规则。当您将文件夹从
docs/
重命名为documents/
后,用户在访问docs/
文件夹会产生错误。所以,您可以将前缀docs/
的请求重定向至 documents/
。
当您删除了
images/
文件夹(即删除了具有前缀images/
的所有对象)。您可以添加重定向规则,将具有前缀images/
的任何对象的请求重定向至test.html
页面。
操作场景
您可以通过对象存储控制台,把一个存储桶设置为托管静态网站,并且通过存储桶的静态网站域名来访问静态网站。
注意事项
如果您的静态网站是不对外的,建议把存储桶的访问权限设置为私有读写,同时通过 CDN 回源鉴权、CDN 鉴权的方式实现数据的全链路保护,详情请参见 CDN 加速配置。
如果您希望把静态网站开放给所有人访问,可将存储桶的访问权限设置为公有读私有写,但需注意这样设置可能会导致资源被盗用,因此请谨慎配置。您可参见 防盗刷指引,以降低被盗刷的风险。
开启静态网站配置,并设置自定义域名后,您需要使用自定义域名访问 COS 源站才能生效,如果使用 COS 默认域名访问则无静态网站效果(例如无法正常呈现排版效果)。
前提条件
操作步骤
开启静态网站
1. 登录 对象存储控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表页面。
3. 找到需要用来托管静态网站的存储桶,单击其存储桶名称,进入存储桶详情页面。
4. 在左侧导航栏中,选择权限管理 > 存储桶访问权限,在公共权限栏中,选择公有读私有写并保存。
5. 在左侧导航栏中,选择基础配置 > 静态网站,在静态网站栏中,单击编辑,将当前状态的开启按钮打开。
6. 依次填写静态网站的配置项。

配置说明如下:
访问节点:开启静态网站,您会得到一个与该存储桶相关联的静态网站访问节点(即静态网站域名)。该访问节点只支持 GET/HEAD Object 操作。
注意:
静态网站的访问节点区分英文大小写。请注意在配置索引文件、错误文件、重定向规则前缀匹配时填写的文件名称和后缀的英文大小写需要与存储桶中的文件保持一致。
强制 HTTPS(可选):当您开启强制 HTTPS 后,在用户访问您的静态网站时,静态网站的访问节点会强制使用 HTTPS 协议方式打开。
注意:
如果您通过自定义域名访问静态网站,同时静态网站开启了强制 HTTPS,请确认您已给该自定义域名正确配置相关证书,如果证书异常,则会跳转至默认域名进行访问。
忽略 html 扩展名(可选):访问路径为 index 时,会自动匹配 index.html 对象进行返回。
索引文档(必选):索引文档即静态网站的首页,是用户对网站的根目录或任何子目录发出请求时返回的网页,通常此页面被命名为 index.html。
注意:
如果存储桶中创建了文件夹,并且有网页引用到这些文件夹,则需要在这些文件夹层级上都添加索引文档。
2024年1月1日后创建的存储桶,若使用静态网站域名访问,索引文档在请求时不会直接返回网页内容,而是直接下载。
错误文档(可选):错误文档指访问静态网站出错后返回的页面。该配置项方便您自行定义错误文档。当静态网站无法响应用户的请求时,将返回指定的自定义错误页面。例如您配置了命名为 error.html 的错误文档,当用户访问遇到 HTTP 错误时,页面将返回 error.html 页面,为其提供帮助指引。当您未配置错误文档时,此时用户访问遇到 HTTP 错误,页面将返回默认的错误信息。
注意:
错误文档配置可支持存储桶根目录或子目录下的文件,请使用浏览器可识别的
.html
或.htm
等格式的文件。若使用了浏览器不可识别的文件,例如.zip
文件,大部分浏览器将显示错误无法访问或拒绝访问请求。错误文档响应码:如有设置错误文档则展示该项。可配置返回错误文档时的 HTTP 响应码为原始错误码或者200。
重定向规则(可选):利用重定向规则,您可以根据特定的文件路径、请求中的前缀或者响应代码来按条件重定向请求。
例如,您在存储桶中删除或重命名某个文件。您可以添加一个重定向规则,将访问该文件的请求重定向至其他文件。
类型:指重定向规则的原始类型。
错误码:目前重定向规则仅支持对
4xx
错误码(例如 404)进行重定向配置。您可以选择性地自定义错误页面,若用户触发了对应的 HTTP 错误,您可以在该错误页面中为您的用户提供其他指引。前缀匹配:您可以使用前缀匹配规则对存储桶内的文件或文件夹进行重定向设置。具体示例请参见 重定向规则示例。
注意:
前缀匹配不支持通配符。如您希望对前缀为 index1/、index2/的两个文件夹进行重定向,不能使用
index*/
作为匹配规则,需要分别创建对应的匹配规则。描述:重定向规则的原始错误码或前缀。
规则:重定向规则的替换规则,包括替换路径和替换前缀。
若类型选择错误码,规则默认为“替换路径”。替换路径即触发该重定向规则后,原请求地址会被替换到新页面的路径。
若类型选择前缀,规则支持选择“替换路径”或“替换前缀”。
注意:
替换路径必须是存储桶内的对象路径。
替换内容:被替换的文件路径或前缀。
7. 设置完成后,单击保存即可。
设置自定义域名
1. 登录 对象存储控制台,进入存储桶详情页面,选择域名与传输管理 > 自定义源站域名。
2. 在自定义源站域名区域,单击添加域名,输入自定义域名(如无,则注册域名后再输入),源站类型选择为静态网站源站。关于配置项的更多介绍,请参见 开启自定义源站域名。




新旧版本控制台差异
由于存储桶域名存在差异,您在使用静态网站功能时,新旧版本的静态网站访问节点同样存在差异,以成都地域的存储桶为例:
如果您使用的是 V5 控制台,则您的静态网站访问节点格式为:
https://<BucketName-APPID>.cos-website.ap-chengdu.myqcloud.com
。如果您使用的是 V4 控制台,则您的静态网站访问节点格式为:
https://<BucketName>.cos-website.coscd.myqcloud.com
。如果您在旧版控制台上设置过静态网站功能,后面升级到新版控制台后,您可以在新版控制台上进行查看,如下图所示,您可以在历史版本静态网站栏,单击点此加载即可。


单击后,可以看到历史静态网站配置,如下图所示:


需要注意的是,历史静态网站配置仅支持查看,无法进行编辑。如需体验新版控制台更加丰富和稳定的功能,我们推荐您在新版本控制台上重新配置您的静态网站域名。重新配置前,您需要注意以下事项:
修改旧版本静态网站配置前,请务必检查您是否有业务依赖于旧版本静态网站,如果有则需要进行修改。
将旧版本静态网站配置切换至新版本静态网站配置,您只需要记录旧版本静态网站配置,并删除旧版本静态网站配置,然后再新建一个新版本静态网站配置即可。
如果您有业务依赖于历史版本静态网站域名,在切换至新版本静态网站配置后,请将您业务所使用的静态网站域名修改为新版本的静态网站域名。
注意:
除了域名差异外,新旧版本控制台所调用的 API 也存在差异,我们推荐您使用新版本控制台以及使用新版本 API、工具、SDK,因为这能够让您体验更加丰富和稳定的功能。COS 新版本控制台所调用的操作对象或存储桶的 API 是 XML API,旧版本控制台上调用的则是 JSON API,有关新旧两个版本 API 的差异,请参见 API 常见问题。