静的 Web サイトの作成

静的 Web サイトの作成

お使いの Object Storage システムが、この機能をサポートするかどうかを確認する場合、発見可能性 を参照してください。または、サービスプロバイダーにお問い合わせください。

Object Storage アカウントを使用して、静的 Web サイトを作成できます。この静的 Web サイトは、Static Web ミドルウェアを用いて作成されます。また、コンテナーデータに指定したインデックスファイル、エラーファイル解決、オプションのファイル一覧表示を提供します。このモードは通常、認証トークンを提供しない、匿名のリクエストのみに有効です。これを認証リクエストに使用する場合、リクエストの X-Web-Mode ヘッダーを TRUE に設定します。

Static Web のフィルターは、/etc/swift/proxy-server.conf ファイルにおいて、何らかの認証ミドルウェアの配下にあるパイプラインに追加される必要があります。また、Static Web 設定セクションも追加する必要があります。

静的 Web 設定の構文 の例は Cloud Administrator Guide を参照してください。

/etc/swift/proxy-server.conf ファイル (静的 Web を含む) の完全な例は Cloud Administrator Guide を参照してください。

パブリックに参照できるコンテナーは、2 つのヘッダー X-Container-Meta-Web-IndexX-Container-Meta-Web-Error がチェックされます。X-Container-Meta-Web-Error ヘッダーは、以下の 静的 Web サイトのエラーページの設定 セクションで説明しています。

X-Container-Meta-Web-Index を使用して、Web サイトのインデックスファイル (または、index.html など、処理されるデフォルトページ) を判断します。誰かが初めてサイトを訪れたとき、index.html ファイルが自動的に表示されます。コンテナーに擬似フォルダーを作成して、サイトのサブディレクトリーを作成する場合、各サブディレクトリーのインデックスページがデフォルトで表示されます。擬似フォルダーにインデックスファイルと同じ名前を持つファイルがなければ、サブディレクトリーを参照すると、404 エラーが返されます。

Web ページの代わりに、擬似フォルダーにあるファイルの一覧を表示するという選択肢もあります。そのために、X-Container-Meta-Web-Listings ヘッダーを TRUE に設定します。X-Container-Meta-Web-Listings-CSS にスタイルシート (例: lists.css) を設定することにより、ファイル一覧にスタイルを追加することもできます。

Object Storage 経由の Static Web ミドルウェア

以下のセクションは、Object Storage 経由で Static Web ミドルウェアを使用する方法を説明しています。

コンテナーのパブリック公開

コンテナーをパブリックに参照できるようにします。そうすると、オブジェクトに直接アクセスできるようになります。しかし、インデックスファイルをメインサイトの URL とそのサブディレクトリーに設定する必要があります。

$ swift post -r '.r:*,.rlistings' container

サイトのインデックスファイルの設定

インデックスファイルを設定します。この場合、index.html がサイト表示時に表示されるデフォルトのファイルです。

$ swift post -m 'web-index:index.html' container

ファイル一覧表示の有効化

ファイル一覧表示を有効化します。インデックスファイルを設定していない場合、コンテナーにあるオブジェクトの一覧が表示されます。CSS を用いて一覧の表示を整える方法が以下にあります。

$ swift post -m 'web-listings: true' container

ファイル一覧表示向けの CSS の有効化

CSS を使用して、ファイル一覧の表示を整えます。

$ swift post -m 'web-listings-css:listings.css' container

静的 Web サイトのエラーページの設定

Web サイト訪問者向けにカスタムエラーページを作成して設定できます。現在、401 (Unauthorized) と 404 (Not Found) のエラーだけがサポートされます。そのために、X-Container-Meta-Web-Error メタデータヘッダーを設定します。

エラーページは、設定したエラーページの名前の前にステータスコードを付けて処理されます。例えば、X-Container-Meta-Web-Errorerror.html に設定した場合、401 エラーは 401error.html のページが表示されます。同様に 404 エラーは 404error.html が表示されます。X-Container-Meta-Web-Error メタデータを設定するとき、これらのページをコンテナーに作成する必要があります。または、汎用のエラーページを表示します。

静的 Web サイト全体に対して、一度 X-Container-Meta-Web-Error メタデータを設定することだけが必要になります。

静的 Web サイトリクエストのエラーページの設定

$ swift post -m 'web-error:error.html' container

すべての 2nn の応答は、正常を意味します。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.