对象存储BOS

    设置静态网站托管

    概述

    BOS 支持用户将静态网站托管在 Bucket 上,实现网站轻量化运维。设置生效后,用户可通过直接访问该Bucket的域名访问该托管网站。

    静态网站是指网站内容全部为 HTML、JPG 等静态化资源,不包含诸如 PHP、JSP 或 ASP.NET 等服务器端脚本。同时,静态托管的网站也不支持在服务器端进行脚本编写。

    如需部署及管理动态网站,请使用百度智能云服务器BCC容器服务CCE

    业务使用方式

    对于待托管的静态网站,您需要先在 Bucket 中上传关键文件资源:“索引页面”对应的文件和“404页面”对应的文件。

    索引页面

    一个标准的网站通常会具备若干索引页面,对应网站的首页及子模块的首页。当用户在浏览器地址栏访问根目录如 www.example.com,或以 / 为结尾的目录如www.example.com/folderA/时,未请求到特定的页面,BOS则会返回索引页面。

    网站管理员可在 Bucket 的根目录及子目录上传静态资源,用于访问索引页面时的效果展现。BOS 当前支持以 html 格式的文件作为索引页面。

    404 页面

    当静态网站在访问遇到常见的 404 错误时,一般网站都会提供一个经过设计的报错页面,以此给予网站访问者较好的体验。对于在 BOS 托管的静态网站,网站管理员可在 Bucket 根目录下上传 html、jpg、png、bmp、webp 格式的文件作为 404 页面,当网站访问者预期查看的数据找不到时,BOS 将默认展示此 404 页面。

    注意:

    • 对于预期做静态网站托管的 Bucket 需设置为公共读权限,用于匿名用户的访问。因此建议不要将机密数据上传至此 Bucket。
    • 请不要为 404 页面设置 meta "Content-Disposition:attachment"。

    当管理员在 Bucket 内上传索引页面及 404 页面对应的资源后,可通过 BOS 管理控制台进行索引页面及 404 页面的配置。

    设置静态网站托管

    1. 登录 对象存储 BOS 管理控制台
    2. 在左侧 Bucket 列表中,选择需要设置权限的 Bucket,点击 Bucket 名称进入 Bucket 管理目录。
    3. 在上方导航栏选择 配置管理 页签。
    4. 配置管理 页面中选择 高级配置,在 静态网站托管 区域点击 修改配置

    image.png

    1. 静态网站托管配置 操作栏中,将 托管状态 变更为 开启,并对 索引页面404页面 进行配置。

    image.png

    注意:

    • 索引页面的名称可根据网站管理习惯任意指定,如“index.html”或“admin.html”等,但各级索引页面对应的资源名称需统一为一个相同的名字;
    • 索引页面和404页面至少需填写一个否则配置无法生效;
    • 如果设置的托管页面为归档类型,配置将不会生效;
    • 当管理员填写的与页面匹配的资源在 Bucket 中不存在时,按 404 处理;如 404 页面对应的资源也不存在时,则返回原始的 404 报错页面;
    • 当用户为此 Bucket 同时打开静态网站托管及镜像回源后,当用户预期访问的资源不存在时,BOS 将先尝试进行镜像回源,如仍然无对应资源,则会遵循静态托管的逻辑返回 404 页面。

    配置举例

    用户在 bj 区域创建了名为 website 的 Bucket,并在其中放置如下文件:

    • 在 Bucket 根目录放置 index.html
    • 在 Bucket 根目录放置 404.html
    • 在 Bucket 二级目录 website/car 放置 index.html
    • 在 Bucket 二级目录 website/car 放置 apollo.jpg

    当用户将该 Bucket 开启静态网站托管功能后,该网站访问者的访问行为定位如下:

    • 访问 www.website.bj.bcebos.com 时,页面呈现 index.html
    • 访问 www.website.bj.bcebos.com/car 时,页面呈现 index.html
    • 访问 www.website.bj.bcebos.com/car/apollo.jpg 时,页面呈现 apollo.jpg
    • 访问 www.website.bj.bcebos.com/car/dazhong.jpg 时,因不存在此资源,页面呈现 404.html

    相关API

    静态网站托管功能也支持通过 API 方式设置,具体可参见如下接口说明:

    上一篇
    设置回收站
    下一篇
    管理Bucket标签