From 9a5e1f34799ee4ef6d89261bc683314c9f1f952b Mon Sep 17 00:00:00 2001 From: Yoshiki Hayashi Date: Mon, 16 Jun 2003 08:18:05 +0000 Subject: [PATCH] Update transformations. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100265 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/vhosts/fd-limits.html.ja.jis | 8 +- docs/manual/vhosts/index.html.ja.jis | 18 +- docs/manual/vhosts/name-based.html.ja.jis | 331 ++++++++++++---------- 3 files changed, 187 insertions(+), 170 deletions(-) diff --git a/docs/manual/vhosts/fd-limits.html.ja.jis b/docs/manual/vhosts/fd-limits.html.ja.jis index 2092bbb6f7..7f844cebdf 100644 --- a/docs/manual/vhosts/fd-limits.html.ja.jis +++ b/docs/manual/vhosts/fd-limits.html.ja.jis @@ -16,7 +16,7 @@
<-
-Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.1

ファイル記述子の限界

Available Languages:  en  |  ja  | @@ -71,12 +71,6 @@

- -

ファイル記述子の問題についての詳細や、 - オペレーティングシステムごとの解決方法については「ファイル記述子と - Apache」の文書を参照してください。 -

-
top
diff --git a/docs/manual/vhosts/index.html.ja.jis b/docs/manual/vhosts/index.html.ja.jis index bf6194b9e5..f6e927ad16 100644 --- a/docs/manual/vhosts/index.html.ja.jis +++ b/docs/manual/vhosts/index.html.ja.jis @@ -14,7 +14,7 @@

Apache HTTP サーバ バージョン 2.1

-
<-
+
<-

Apache バーチャルホスト説明書

@@ -29,9 +29,9 @@ (www.company1.com and www.company2.com のような) 二つ以上のウェブサイトを扱う運用方法のことを指します。 バーチャルホストには、各ウェブサイトに違う IP アドレスがある - 「IP ベース」と、単一の IP アドレスに + 「IP ベース」と、それぞれの IP アドレスに 複数の名前がある「名前ベース」とがあります。 - 複数のサイトが同じサーバで扱われている、ということはエンドユーザには + 複数のサイトが物理的に同じサーバで扱われている、ということはエンドユーザには 明らかではありません。

Apache は、特に手を入れない状態で IP ベースのバーチャルホスト @@ -46,9 +46,7 @@

+

参照

top

バーチャルホストのサポート

@@ -61,7 +59,7 @@
  • バーチャルホストの一般的な設定例
  • ファイル記述子の限界 (または、多過ぎるログファイル)
  • -
  • 大量のバーチャルホストの動的な設定
  • +
  • 大量のバーチャルホストの設定
  • バーチャルホストのマッチングについての詳細
  • @@ -78,11 +76,11 @@

    バーチャルホストの設定のデバッグをするには - Apache のコマンドラインスイッチ -t -D DUMP_VHOSTS が便利です。 - つまり、以下のコマンドを入力します:

    + Apache のコマンドラインスイッチ -S が便利です。 + つまり、以下のコマンドを入力します:

    - /usr/local/apache/bin/httpd -t -D DUMP_VHOSTS + /usr/local/apache2/bin/httpd -S

    このコマンドは Apache が設定ファイルをどう解析したかについて出力します。 diff --git a/docs/manual/vhosts/name-based.html.ja.jis b/docs/manual/vhosts/name-based.html.ja.jis index 6c0a2d764f..07dc73ce18 100644 --- a/docs/manual/vhosts/name-based.html.ja.jis +++ b/docs/manual/vhosts/name-based.html.ja.jis @@ -1,57 +1,53 @@ - - - - 名前ベースのバーチャルホスト - - - - -

    - [APACHE DOCUMENTATION] - -

    Apache HTTP Server Version 2.1

    -
    - - + + +名前ベースのバーチャルホスト - Apache HTTP サーバ + + + + + +
    <-
    +

    名前ベースのバーチャルホスト

    +
    +

    Available Languages:  de  | + en  | + ja  | + ko 

    +

    この文書では名前ベースのバーチャルホストをどんなとき、 - またどうやって使うのかということを説明します。

    - - - -

    参考: 標準的なセットアップでの - バーチャルホストの例IP ベースの - バーチャルホストのサポート - バーチャルホストのマッチングの具体的な詳細大量のバーチャルホストを動的に設定する -

    -
    - -

    名前ベースと IP ベースのバーチャルホストの比較

    - -

    初期のバージョンの HTTP では (他の多くのプロトコル、例えば FTP - と同様) 一つのサーバ上でのバーチャルホストごとに異なった IP - アドレスが必要でした。いくつかのプラットフォームでは、このことが - 実行可能なバーチャルホストの数を限定してしまうことになりました。 - また、IP アドレスの数には限りがあるということについての懸念から、 - レジストラ (ARIN, RIPE, APNIC) はバーチャルホストごとに - IP を割り当てるようなことは避けるよう強く要請しています。

    + どうやって使うかを説明します。

    + +
    + +
    top
    +
    +

    名前ベースと IP ベースのバーチャルホストの比較

    + +

    IP ベースのバーチャルホストでは、応答する + バーチャルホストへのコネクションを決定するために IP + アドレスを使用します。ですから、それぞれのホストに個々に IP + アドレスが必要になります。これに対して名前ベースのバーチャルホストでは、 + クライアントが HTTP ヘッダの一部としてホスト名を告げる、 + ということに依存します。この技術で同一 IP + アドレスを異なる多数のホストで共有しています。

    名前ベースのバーチャルホストは通常単純で、それぞれのホスト名と それに対応する正確な IP アドレスを DNS で設定し、異なる - ホスト名を区別出来るように Apache HTTP サーバを設定するだけです。 + ホスト名を区別するように Apache HTTP サーバを設定するだけです。 さらに、名前ベースのバーチャルホストは不足する IP アドレスの需要を緩和します。したがって、IP ベースのバーチャルホストを 選択すべき特定の理由がなければ名前ベースのバーチャルホストを使うべきです。 @@ -67,7 +63,7 @@ バーチャルホストを行いたい場合は、この文書の最後の方に 書かれている解決策になるかもしれない方法を見てください。 -

  • 名前ベースのバーチャルホストは SSL プロトコルの特徴により、 +
  • 名前ベースのバーチャルホストは SSL プロトコルの特徴により、 SSL セキュアサーバには使えません。
  • オペレーティングシステムやネットワーク装置のなかには、 @@ -75,166 +71,195 @@ 帯域管理の方法を実装しているものがあります。
  • -

    名前ベースのバーチャルホストを利用する

    - - - - - -
    関連ディレクティブ
    -
    - DocumentRoot
    - NameVirtualHost
    - ServerAlias
    - ServerName
    - ServerPath
    - VirtualHost
    -
    +
    top
    +
    +

    名前ベースのバーチャルホストを利用する

    + +

    名前ベースのバーチャルホストを使うには、そのホストへの リクエストを受け付けるサーバの IP アドレス (もしかしたらポートも) を指定する必要があります。 - これは NameVirtualHost - ディレクティブで設定します。通常、NameVirtualHost で + これは NameVirtualHost + ディレクティブで設定します。通常、NameVirtualHost* の属性を使ってサーバの全ての IP アドレスを使います。 - NameVirtualHost ディレクティブで IP アドレスを書いても、 + NameVirtualHost ディレクティブで + IP アドレスを書いても、 自動的にサーバがその IP アドレスをリッスンするということはないことに - 注意してください。詳細は Apache の使うアドレスと - ポートを設定する を読んでください。さらに、ここで指定された + 注意してください。詳細は「Apache の使うアドレスと + ポートを設定する」を読んでください。さらに、ここで指定された IP アドレスは全てサーバのネットワークインターフェースと関連付けられて いなければなりません。

    -

    次は、扱いたいそれぞれのホストに対して <VirtualHost> ブロックを - 作成してください。<VirtualHost> ディレクティブの - 引数は NameVirtualHost ディレクティブの引数と - 同じにしてください (すなわち、IP アドレス一つや全てのアドレスのための - *)。それぞれの <VirtualHost> ディレクティブ - の中には、最低限、どのホストが扱われるかを示す ServerName ディレクティブと、 +

    次は、扱うホストそれぞれに対して <VirtualHost> ブロックを + 作成してください。<VirtualHost> + ディレクティブの引数は NameVirtualHost + ディレクティブの引数と同じにしてください (すなわち、IP アドレスか、全てのアドレスを意味する + *)。それぞれの <VirtualHost> + ディレクティブの中には、最低限、どのホストが扱われるかを示す ServerName ディレクティブと、 そのホスト用のコンテンツがファイルシステム上のどこにあるかを示す - DocumentRoot ディレクティブを + DocumentRoot ディレクティブを 書く必要があります。

    -

    たとえば、www.domain.tld と - www.otherdomain.tld の両方が 1つの IP - アドレスを指しているとしましょう。そのような場合は、 - httpd.conf に以下のようなコードを追加するだけです

    -
    -    NameVirtualHost *
    -
    -    <VirtualHost *>
    -    ServerName www.domain.tld
    -    DocumentRoot /www/domain
    -    </VirtualHost>
    -
    -    <VirtualHost *>
    -    ServerName www.otherdomain.tld
    -    DocumentRoot /www/otherdomain
    -    </VirtualHost>
    -
    - -

    NameVirtualHost 及び - <VirtualHost> のどちらの場合も、 +

    メインホストはなくなります

    +

    既にあるウェブサーバにバーチャルホストを追加する場合、 + 既存のウェブサーバに対しても <VirtualHost> + ブロックを作らなければなりません。このバーチャルホストの + ServerName と + DocumentRoot + は、グローバルな ServerName と + DocumentRoot + と同じものにします。また、このバーチャルホストを設定ファイルの中で + 先頭に置いて、デフォルトホストとして動作するようにします。

    +
    + +

    たとえば、www.domain.tld を動かしていて、 + さらにバーチャルホスト www.otherdomain.tld + を追加するとしましょう。このバーチャルホストは同一 IP を指しているとします。 + そのような場合は、httpd.conf + に以下のようなコードを追加するだけです

    + +

    + NameVirtualHost *
    +
    + <VirtualHost *>
    + + ServerName www.domain.tld
    + DocumentRoot /www/domain
    +
    + </VirtualHost>
    +
    + <VirtualHost *>
    + + ServerName www.otherdomain.tld
    + DocumentRoot /www/otherdomain
    +
    + </VirtualHost>
    +

    + +

    NameVirtualHost 及び + VirtualHost のどちらの場合も、 * の部分には明示的に IP アドレスを指定することができます。

    複数の名前でサーバアクセスができるようにしたいことも多いでしょう。 - このようなことは、ServerAlias ディレクティブを <VirtualHost> + このようなことは、ServerAlias ディレクティブを <VirtualHost> セクションに記述することで実現できます。 - 例えばこれを最初の <VirtualHost> ブロックに書き加えると、

    -
    +    例えば上記の <VirtualHost> の例であれば、
    +    次のように一覧に挙げられた名前が、
    +    ユーザが同一のウェブサイトとして目にして使用できるサーバ名である、
    +    と ServerAlias
    +    ディレクティブで指定できます。

    + +

    ServerAlias domain.tld *.domain.tld -

    +

    domain.tld ドメインへの全てのホストへのリクエストは www.domain.tld のバーチャルホストが処理します。 - * や ? をワイルドカード文字として使用できます。 - Of course,you can't just make up names and place them in ServerName - or ServerAlias. - 第一に DNS のホスト名と IP アドレスをサーバにあわせて適切に設定する事が必要です

    - -

    最後に、<VirtualHost> コンテナの中に - 他のディレクティブを書くことで、バーチャルホストの設定を細かく変更 - することができます。どのディレクティブを書くことができるかは、 - ディレクティブの コンテキスト を + 名前をマッチさせるために、ワイルドカード文字 * や ? + を使用することもできます。もちろん思いつきの名前を作って、 + ServerName や + ServerAlias + にその名前を書くといったことはできません。まずは、 + これらの名前が サーバに付けられた IP アドレスにマップされるように + DNS サーバを適切に設定しなければなりません。

    + +

    最後に、<VirtualHost> コンテナの中に + 他のディレクティブを書くことで、バーチャルホストの設定を細かく調整 + することができます。 + ほとんどのディレクティブはこれらのコンテナに設置することができて、 + 変更点はそのバーチャルホストに対してのみ有効になります。 + どのディレクティブを書くことができるかは、ディレクティブの コンテキスト を 調べてください。主サーバコンテキスト - (<VirtualHost> コンテナの外) の - 設定用ディレクティブはバーチャルホストでの設定で上書きされていない - ときのみ使用されます。

    + (<VirtualHost> + コンテナの外) の設定用ディレクティブはバーチャルホストでの設定で + 上書きされない場合のみ使用されます。

    -

    リクエストが来ると、サーバはまず最初に NameVirtualHost +

    リクエストが来ると、サーバはまず最初に <NameVirtualHost> にマッチする IP アドレスかどうかをチェックします。マッチすれば - マッチした IP アドレスの <VirtualHost> - のそれぞれのセクションの中から ServerName か - ServerAlias に要求されたホスト名があるか探します。 + マッチした IP アドレスの <VirtualHost> + のそれぞれのセクションの中から + ServerName か + ServerAlias + に要求されたホスト名があるか探します。 見つかればそのサーバ用の設定を使います。マッチするバーチャルホスト が見つからなければ、マッチした IP アドレスの リストの最初にあるバーチャルホスト が使われます。

    結果として、リストの最初のバーチャルホストが デフォルト の - バーチャルホストになります。IP アドレスが NameVirtualHost + バーチャルホストになります。IP アドレスが NameVirtualHost ディレクティブにマッチした場合は、メインのサーバ の - DocumentRoot 使われ ません + DocumentRoot + は決して使われません どのバーチャルホストにもマッチしないリクエストに対して、 特別な設定をしたいのであれば、設定ファイル中の最初の - <VirtualHost> にそれを記述してください。

    + <VirtualHost> コンテナにそれを記述してください。

    -

    古いブラウザとの互換性

    +
    top
    +
    +

    古いブラウザとの互換性

    -

    上で書いたように、名前ベースのバーチャルホストが正しく動作する +

    以前述べたように、名前ベースのバーチャルホストが正しく動作する ために必要な情報を送ってこないクライアントが依然として存在しています。 そのようなクライアントに対しては、該当する IP アドレスについて、 一番最初に設定されているバーチャルホスト (プライマリの名前ベースのバーチャルホスト) からページが送り返されます。

    +

    どのぐらい古いの ?

    +

    「古い」と表現している場合、本当に古いことを意味して使っています。 + 不幸にして今現在でもこのような古いブラウザに遭遇することがあります。 + 現在のブラウザは全て、名前ベースのバーチャルホストに必要な + Host ヘッダを送ります。

    +
    +

    ServerPath ディレクティブで対処が可能です。ちょっと不格好ですけれども。

    設定例

    -
    -    NameVirtualHost 111.22.33.44
     
    -    <VirtualHost 111.22.33.44>
    -    ServerName www.domain.tld
    -    ServerPath /domain
    -    DocumentRoot /web/domain
    -    </VirtualHost>
    -
    +

    + NameVirtualHost 111.22.33.44
    +
    + <VirtualHost 111.22.33.44>
    + + ServerName www.domain.tld
    + ServerPath /domain
    + DocumentRoot /web/domain
    +
    + </VirtualHost>
    +

    この例にはどういう意味があるでしょうか? これは - "/domain" で始まる URI へのリクエストはすべて、 - バーチャルホスト www.domain.tld で処理される、 + "/domain" で始まる URI へのリクエストはすべて、 + バーチャルホスト www.domain.tld で処理される、 という意味です。つまり、すべてのクライアントで http://www.domain.tld/domain/ でアクセスできるページが、 - Host: ヘッダを送ってくるクライアントであれば + Host: ヘッダを送ってくるクライアントであれば http://www.domain.tld/ としてもアクセスできる、 という意味です。

    -

    これを実用的なものとするためには、 - プライマリのバーチャルホストのページに - http://www.domain.tld/domain/ へのリンクを設置します。 +

    これが動作するようにするには、 + プライマリのバーチャルホストのページに + http://www.domain.tld/domain/ へのリンクを設置します。 そして、バーチャルホストのページでは、純粋な相対リンク (例: - "file.html" や "../icons/image.gif")、 - あるいは /domain/ で始まるリンク (例: - "http://www.domain.tld/domain/misc/file.html" や - "/domain/misc/file.html") だけを設置します。

    + "file.html" や "../icons/image.gif")、 + あるいは /domain/ で始まるリンク (例: + "http://www.domain.tld/domain/misc/file.html" や + "/domain/misc/file.html") だけを設置します。

    これには、幾分かの規律が必要となりますが、 このようなガイドラインを忠実に守ることにより、たいていの場合、 すべてのブラウザで ― 新しいブラウザでも古いものでも ― 作成したページが見えるということを保証します。

    -

    参考: ServerPath 設定例

    -
    - -

    Apache HTTP Server Version 2.1

    - Index - Home - - - +
    +
    +

    Available Languages:  de  | + en  | + ja  | + ko 

    +
    + \ No newline at end of file -- 2.50.1