创建静态网站¶
要确定您的对象存储系统是否支持此功能,请参阅 可发现性。或者,请咨询您的服务提供商。
您可以使用您的对象存储帐户创建静态网站。此静态网站使用静态 Web 中间件创建,并使用指定的索引文件、错误文件解析和可选的文件列表来提供容器数据。此模式通常仅对匿名请求有效,这些请求不提供身份验证令牌。要将其与经过身份验证的请求一起使用,请在请求上将标头 X-Web-Mode 设置为 TRUE。
静态 Web 过滤器必须添加到您的 /etc/swift/proxy-server.conf 文件中的管道中,位于任何身份验证中间件下方。您还必须添加一个静态 Web 中间件配置部分。
您的可公开读取的容器会被检查两个标头:X-Container-Meta-Web-Index 和 X-Container-Meta-Web-Error。 X-Container-Meta-Web-Error 标头将在下面讨论,在名为 为静态网站设置错误页面的部分中。
使用 X-Container-Meta-Web-Index 来确定索引文件(或提供的默认页面,例如 index.html)用于您的网站。当有人最初访问您的网站时,index.html 文件将自动显示。如果您通过在容器中创建伪目录来为您的网站创建子目录,则每个子目录的索引页面将默认显示。如果您的伪目录没有与您的索引文件同名的文件,则访问该子目录将返回 404 错误。
您还可以选择显示伪目录中的文件列表,而不是网页。为此,请将 X-Container-Meta-Web-Listings 标头设置为 TRUE。您可以通过将 X-Container-Meta-Web-Listings-CSS 设置为样式表(例如,lists.css)来为您的文件列表添加样式。
通过对象存储的静态 Web 中间件¶
以下部分显示了如何通过对象存储使用静态 Web 中间件。
使容器可公开读取¶
使容器可公开读取。容器可公开读取后,您可以直接访问您的对象,但您必须设置索引文件才能浏览主站点 URL 及其子目录。
$ swift post -r '.r:*,.rlistings' container
设置站点索引文件¶
设置索引文件。在这种情况下,index.html 是站点出现时显示的默认文件。
$ swift post -m 'web-index:index.html' container
启用文件列表¶
启用文件列表。如果您未设置索引文件,则 URL 将显示容器中对象的列表。以下是使用 CSS 设置列表样式的说明。
$ swift post -m 'web-listings: true' container
启用文件列表的 CSS¶
使用 CSS 设置文件列表的样式。
$ swift post -m 'web-listings-css:listings.css' container
为静态网站设置错误页面¶
您可以创建和设置自定义错误页面供访问您网站的访问者使用;当前,仅支持 401(未授权)和 404(未找到)错误。为此,请设置元数据标头 X-Container-Meta-Web-Error。
错误页面将以您设置的错误页面的名称前缀状态代码的形式提供。例如,如果您将 X-Container-Meta-Web-Error 设置为 error.html,则 401 错误将显示页面 401error.html。同样,404 错误将显示 404error.html。您必须在容器中创建这两个页面,并在设置 X-Container-Meta-Web-Error 元数据时创建这两个页面,否则您的站点将显示通用的错误页面。
您只需要为整个静态网站设置 X-Container-Meta-Web-Error 元数据一次。
为静态网站请求设置错误页面¶
$ swift post -m 'web-error:error.html' container
任何 2nn 响应表示成功。