bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / docs / manual / vhosts / name-based.html.ja.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>名前ベースのバーチャルホスト - Apache HTTP サーバ</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
15 <p class="apache">Apache HTTP サーバ バージョン 2.0</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">バージョン 2.0</a> &gt; <a href="./">バーチャルホスト</a></div><div id="page-content"><div id="preamble"><h1>名前ベースのバーチャルホスト</h1>
20 <div class="toplang">
21 <p><span>Available Languages: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
22 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
23 <a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
24 <a href="../ja/vhosts/name-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27 </div>
28
29     <p>この文書では名前ベースのバーチャルホストをどんなとき、
30     どうやって使うかを説明します。</p>
31 </div>
32 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">名前ベースと IP ベースのバーチャルホストの比較</a></li>
33 <li><img alt="" src="../images/down.gif" /> <a href="#using">名前ベースのバーチャルホストを利用する</a></li>
34 <li><img alt="" src="../images/down.gif" /> <a href="#compat">古いブラウザとの互換性</a></li>
35 </ul><h3>参照</h3><ul class="seealso"><li><a href="ip-based.html">ネームベースのバーチャルホスト</a></li><li><a href="details.html">バーチャルホストのマッチングについての詳細</a></li><li><a href="mass.html">大量のバーチャルホストの動的な設定</a></li><li><a href="examples.html">バーチャルホストの一般的な設定例</a></li><li><a href="examples.html#serverpath">ServerPath 設定例</a></li></ul></div>
36 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
37 <div class="section">
38 <h2><a name="namevip" id="namevip">名前ベースと IP ベースのバーチャルホストの比較</a></h2>
39
40     <p>IP ベースのバーチャルホストでは、応答する
41     バーチャルホストへのコネクションを決定するために IP
42     アドレスを使用します。ですから、それぞれのホストに個々に IP
43     アドレスが必要になります。これに対して名前ベースのバーチャルホストでは、
44     クライアントが HTTP ヘッダの一部としてホスト名を告げる、
45     ということに依存します。この技術で同一 IP 
46     アドレスを異なる多数のホストで共有しています。</p>
47
48     <p>名前ベースのバーチャルホストは通常単純で、それぞれのホスト名と
49     それに対応する正確な IP アドレスを DNS で設定し、異なる
50     ホスト名を区別するように Apache HTTP サーバを設定するだけです。
51     さらに、名前ベースのバーチャルホストは不足する IP
52     アドレスの需要を緩和します。したがって、IP ベースのバーチャルホストを
53     選択すべき特定の理由がなければ名前ベースのバーチャルホストを使うべきです。
54     IP ベースのバーチャルホストを使用することを考慮する理由として、</p>
55
56     <ul> 
57       <li>名前ベースのバーチャルホストに対応していない古いクライアントがある
58       名前ベースのバーチャルホストが働くためには、クライアントは
59       HTTP ホストヘッダを送ってこなければなりません。
60       これは HTTP/1.1 の仕様で要求されていて、すべての現代的な
61       HTTP/1.0 ブラウザでも拡張として実装されています。
62       とても古いクライアントをサポートしつつ、名前ベースの
63       バーチャルホストを行いたい場合は、この文書の最後の方に
64       書かれている解決策になるかもしれない方法を見てください。</li>
65
66       <li>名前ベースのバーチャルホストは SSL プロトコルの特徴により、
67       SSL セキュアサーバには使えません。</li>
68
69       <li>オペレーティングシステムやネットワーク装置のなかには、
70       別の IP アドレス上でない場合、複数のホストを別扱いできないような
71       帯域管理の方法を実装しているものがあります。</li>
72     </ul>
73
74 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
75 <div class="section">
76 <h2><a name="using" id="using">名前ベースのバーチャルホストを利用する</a></h2>
77
78 <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
79
80     <p>名前ベースのバーチャルホストを使うには、そのホストへの
81     リクエストを受け付けるサーバの IP アドレス (もしかしたらポートも)
82     を指定する必要があります。
83     これは <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
84     ディレクティブで設定します。通常、<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> で
85     <code>*</code> の属性を使ってサーバの全ての IP アドレスを使います。
86     (例えば SSL の使用などで) 複数のポートを使うことを計画しているのであれば、
87     引数に <code>*:80</code> のようにポートも含めるようにしてください。
88     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ディレクティブで
89     IP アドレスを書いても、
90     自動的にサーバがその IP アドレスをリッスンするということはないことに
91     注意してください。詳細は「<a href="../bind.html">Apache の使うアドレスと
92     ポートを設定する</a>」を読んでください。さらに、ここで指定された
93     IP アドレスは全てサーバのネットワークインターフェースと関連付けられて
94     いなければなりません。</p>
95
96     <p>次は、扱うホストそれぞれに対して <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> ブロックを
97     作成してください。<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
98     ディレクティブの引数は <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
99     ディレクティブの引数と同じにしてください (すなわち、IP アドレスか、全てのアドレスを意味する
100     <code>*</code>)。それぞれの <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
101     ディレクティブの中には、最低限、どのホストが扱われるかを示す <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ディレクティブと、
102     そのホスト用のコンテンツがファイルシステム上のどこにあるかを示す
103     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> ディレクティブを
104     書く必要があります。</p>
105
106     <div class="note"><h3>メインホストはなくなります</h3>
107         <p>既にあるウェブサーバにバーチャルホストを追加する場合、
108         既存のウェブサーバに対しても <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
109         ブロックを作らなければなりません。このバーチャルホストの
110         <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> と
111         <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
112         は、グローバルな <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> と
113         <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>
114         と同じものにします。また、このバーチャルホストを設定ファイルの中で
115         先頭に置いて、デフォルトホストとして動作するようにします。</p>
116     </div>
117
118     <p>たとえば、<code>www.domain.tld</code> を動かしていて、
119     さらにバーチャルホスト <code>www.otherdomain.tld</code>
120     を追加するとしましょう。このバーチャルホストは同一 IP を指しているとします。
121     そのような場合は、<code>httpd.conf</code>
122     に以下のようなコードを追加するだけです</p>
123
124     <div class="example"><p><code>
125         NameVirtualHost *:80<br />
126         <br />
127         &lt;VirtualHost *:80&gt;<br />
128         <span class="indent">
129             ServerName www.domain.tld<br />
130             ServerAlias domain.tld *.domain.tld<br />
131             DocumentRoot /www/domain<br />
132         </span>
133         &lt;/VirtualHost&gt;<br />
134         <br />
135         &lt;VirtualHost *:80&gt;<br />
136         <span class="indent">ServerName www.otherdomain.tld<br />
137             DocumentRoot /www/otherdomain<br />
138         </span>
139         &lt;/VirtualHost&gt;<br />
140     </code></p></div>
141
142     <p><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> 及び
143     <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> のどちらの場合も、
144     * の部分には明示的に IP アドレスを指定することができます。
145     例えば、ある IP アドレスでは名前ベースのバーチャルホストを使いたい一方で、
146     別の IP アドレスでは、他の IP ベースのバーチャルホストや
147     別組の名前ベースのバーチャルホストを使いたい場合、
148     そう設定することになるでしょう。</p>
149
150     <p>複数の名前でサーバアクセスができるようにしたいことも多いでしょう。
151     このようなことは、<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> ディレクティブを <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
152     セクションに記述することで実現できます。
153     例えば上記の <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> の例であれば、
154     次のように一覧に挙げられた名前が、
155     ユーザが同一のウェブサイトとして目にして使用できるサーバ名である、
156     と <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
157     ディレクティブで指定できます。</p> 
158
159     <div class="example"><p><code>
160         ServerAlias domain.tld *.domain.tld
161     </code></p></div>
162
163     <p><code>domain.tld</code> ドメインへの全てのホストへのリクエストは
164     <code>www.domain.tld</code> のバーチャルホストが処理します。
165     名前をマッチさせるために、ワイルドカード文字 * や ? 
166     を使用することもできます。もちろん思いつきの名前を作って、
167     <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> や 
168     <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
169     にその名前を書くといったことはできません。まずは、
170     これらの名前が サーバに付けられた IP アドレスにマップされるように
171     DNS サーバを適切に設定しなければなりません。</p>
172
173     <p>最後に、<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> コンテナの中に
174     他のディレクティブを書くことで、バーチャルホストの設定を細かく調整
175     することができます。
176     ほとんどのディレクティブはこれらのコンテナに設置することができて、
177     変更点はそのバーチャルホストに対してのみ有効になります。
178     どのディレクティブを書くことができるかは、ディレクティブの <a href="../mod/directive-dist.html#context">コンテキスト</a> を
179     調べてください。<em>主サーバコンテキスト</em>
180     (<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
181     コンテナの外) の設定用ディレクティブはバーチャルホストでの設定で
182     上書きされない場合のみ使用されます。</p>
183
184     <p>リクエストが来ると、サーバはまず最初に <code class="directive"><a href="../mod/core.html#namevirtualhost">&lt;NameVirtualHost&gt;</a></code>
185     にマッチする IP アドレスかどうかをチェックします。マッチすれば
186     マッチした IP アドレスの <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
187     のそれぞれのセクションの中から 
188     <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> か
189     <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> 
190     に要求されたホスト名があるか探します。
191     見つかればそのサーバ用の設定を使います。マッチするバーチャルホスト
192     が見つからなければ、マッチした IP アドレスの 
193     <strong>リストの最初にあるバーチャルホスト</strong> が使われます。</p>
194
195     <p>結果として、リストの最初のバーチャルホストが <em>デフォルト</em> の
196     バーチャルホストになります。IP アドレスが <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
197     ディレクティブにマッチした場合は、<em>メインのサーバ</em> の
198     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> 
199     は<strong>決して使われません</strong>
200     どのバーチャルホストにもマッチしないリクエストに対して、
201     特別な設定をしたいのであれば、設定ファイル中の最初の
202     <code>&lt;VirtualHost&gt;</code> コンテナにそれを記述してください。</p>
203
204 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
205 <div class="section">
206 <h2><a name="compat" id="compat">古いブラウザとの互換性</a></h2>
207
208     <p>以前述べたように、名前ベースのバーチャルホストが正しく動作する
209     ために必要な情報を送ってこないクライアントが依然として存在しています。
210     そのようなクライアントに対しては、該当する IP アドレスについて、
211     一番最初に設定されているバーチャルホスト
212     (<cite>プライマリ</cite>の名前ベースのバーチャルホスト)
213     からページが送り返されます。</p>
214
215     <div class="note"><h3>どのぐらい古いの ?</h3>
216     <p>「古い」と表現している場合、本当に古いことを意味して使っています。
217     不幸にして今現在でもこのような古いブラウザに遭遇することがあります。
218     現在のブラウザは全て、名前ベースのバーチャルホストに必要な
219     <code>Host</code> ヘッダを送ります。</p>
220     </div>
221
222     <p><a href="../mod/core.html#serverpath"><code>ServerPath</code></a>
223     ディレクティブで対処が可能です。ちょっと不格好ですけれども。</p>
224
225     <p>設定例</p>
226
227     <div class="example"><p><code>
228         NameVirtualHost 111.22.33.44<br />
229         <br />
230         &lt;VirtualHost 111.22.33.44&gt;<br />
231         <span class="indent">
232             ServerName www.domain.tld<br />
233             ServerPath /domain<br />
234             DocumentRoot /web/domain<br />
235         </span>
236         &lt;/VirtualHost&gt;<br />
237     </code></p></div>
238
239     <p>この例にはどういう意味があるでしょうか? これは
240     "<code>/domain</code>" で始まる URI へのリクエストはすべて、
241     バーチャルホスト <code>www.domain.tld</code> で処理される、
242     という意味です。つまり、すべてのクライアントで
243     <code>http://www.domain.tld/domain/</code> でアクセスできるページが、
244     <code>Host:</code> ヘッダを送ってくるクライアントであれば
245     <code>http://www.domain.tld/</code> としてもアクセスできる、
246     という意味です。</p>
247
248     <p>これが動作するようにするには、
249     プライマリのバーチャルホストのページに
250     <code>http://www.domain.tld/domain/</code> へのリンクを設置します。
251     そして、バーチャルホストのページでは、純粋な相対リンク (<em>例:</em>
252     "<code>file.html</code>" や "<code>../icons/image.gif</code>")、
253     あるいは <code>/domain/</code> で始まるリンク (<em>例:</em>
254     "<code>http://www.domain.tld/domain/misc/file.html</code>" や
255     "<code>/domain/misc/file.html</code>") だけを設置します。</p>
256
257     <p>これには、幾分かの規律が必要となりますが、
258     このようなガイドラインを忠実に守ることにより、たいていの場合、
259     すべてのブラウザで ― 新しいブラウザでも古いものでも ―
260     作成したページが見えるということを保証します。</p>
261
262 </div></div>
263 <div class="bottomlang">
264 <p><span>Available Languages: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
265 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
266 <a href="../es/vhosts/name-based.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
267 <a href="../ja/vhosts/name-based.html" title="Japanese">&nbsp;ja&nbsp;</a> |
268 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
269 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
270 </div><div id="footer">
271 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
272 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
273 </body></html>