]> granicus.if.org Git - apache/blob - docs/manual/vhosts/examples.html.fr
Rebuild changes.
[apache] / docs / manual / vhosts / examples.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
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="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Exemples d'utilisations de VirtualHost - Serveur 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/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Exemples d'utilisations de VirtualHost</h1>
20 <div class="toplang">
21 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
22 <a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
23 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
24 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
25 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
26 </div>
27
28
29     <p>Le but de ce document est d'essayer de répondre aux questions 
30     les plus répandues sur la configuration des <a href="index.html">serveurs virtuels</a>. 
31     Les scénarios présentés ici se rencontrent quand plusieurs 
32     serveurs Webs doivent tourner sur une seule et même machine au 
33     moyen de serveurs virtuels <a href="name-based.html">par nom</a> 
34     ou <a href="ip-based.html">par IP</a>.</p>
35
36 </div>
37 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Fonctionnement de plusieurs serveurs 
38   virtuels par nom sur une seule adresse IP.</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#twoips">Serveurs virtuels par nom sur plus 
40     d'une seule adresse IP.</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des 
42     adresses IP différentes (telle qu'une adresse interne et une 
43     externe).</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents 
45     ports.</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur 
48     les ports et sur les IP</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur 
50     les noms et sur IP</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de 
52     <code>Virtual_host</code> et de mod_proxy</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#default">Utilisation de serveurs virtuels 
54     <code>_default_</code></a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#migrate">Migration d'un serveur virtuel 
56         par nom en un serveur virtuel par IP</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">Utilisation de la directive 
58     <code>ServerPath</code></a></li>
59 </ul></div>
60 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
61 <div class="section">
62 <h2><a name="purename" id="purename">Fonctionnement de plusieurs serveurs 
63   virtuels par nom sur une seule adresse IP.</a></h2>
64
65     <p>Votre serveur ne dispose que d'une seule adresse IP, et de 
66     nombreux alias (CNAMES) pointent vers cette adresse dans le DNS. 
67     Pour l'exemple, <code>www.example.com</code> et 
68     <code>www.example.org</code> doivent tourner sur cette machine.</p>
69
70     <div class="note"><h3>Note&nbsp;:</h3><p>La configuration de serveurs virtuels 
71     sous Apache ne provoque pas leur apparition magique dans la 
72     configuration du DNS. Il <em>faut</em> que leurs noms soient 
73     définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP 
74     du serveur, faute de quoi personne ne pourra visiter votre site Web. 
75     Il est possible d'ajouter des entrées dans le fichier 
76     <code>hosts</code> pour tests locaux, mais qui ne fonctionneront 
77     que sur la machine possédant ces entrées.</p>
78     </div>
79
80     <div class="example"><h3>Configuration du serveur</h3><p><code>
81     
82
83     # Apache doit écouter sur le port 80<br />
84     Listen 80<br />
85     <br />
86     # Toutes les adresses IP doivent répondre aux requêtes sur les <br />
87     # serveurs virtuels<br />
88     &lt;VirtualHost *:80&gt;<br />
89     <span class="indent">
90       DocumentRoot /www/example.com<br />
91       ServerName www.example1.com<br />
92       <br />
93       # Autres directives ici<br />
94       <br />
95     </span>
96     &lt;/VirtualHost&gt;<br />
97     <br />
98     &lt;VirtualHost *:80&gt;<br />
99     <span class="indent">
100       DocumentRoot /www/example.org<br />
101       ServerName www.example2.org<br />
102       <br />
103       # Autres directives ici<br />
104       <br />
105     </span>
106     &lt;/VirtualHost&gt;
107     </code></p></div>
108
109     <p>Les astérisques correspondent à toutes les adresses, si bien que 
110     le serveur principal ne répondra jamais à aucune requête. Comme le
111     serveur virtuel
112     <code>ServerName www.example.com</code> se trouve en premier dans le fichier 
113     de configuration, il a la plus grande priorité et peut être vu 
114     comme serveur <cite>par défaut</cite> ou <cite>primaire</cite>&nbsp;; 
115     ce qui signifie que toute requête reçue ne correspondant à aucune 
116     des directives <code>ServerName</code> sera servie par ce premier 
117     <code>VirtualHost</code>.</p>
118
119     <div class="note">
120             <h3>Note&nbsp;:</h3>
121
122             <p>Vous pouvez remplacer <code>*</code> 
123             par l'adresse IP du système si vous ne souhaitez pas faire
124             opérer la sélection du serveur virtuel en fonction de la
125             paire adresse IP/port.</p>
126
127            <p>En général, il est commode d'utiliser <code>*</code> sur 
128            les systèmes dont l'adresse IP n'est pas constante - par 
129            exemple, pour des serveurs dont l'adresse IP est attribuée 
130            dynamiquement par le FAI, et où le DNS est géré au moyen 
131            d'un DNS dynamique quelconque. Comme <code>*</code> signifie 
132            <cite>n'importe quelle adresse</cite>, cette configuration 
133            fonctionne sans devoir être modifiée quand l'adresse IP du 
134            système est modifiée.</p>
135     </div>
136
137     <p>La configuration ci-dessus est en pratique utilisée dans la 
138     plupart des cas pour les serveurs virtuels par nom. En fait, le 
139     seul cas où cette configuration ne fonctionne pas est lorsque 
140     différents contenus doivent être servis en fonction de l'adresse IP 
141     et du port contactés par le client.</p>
142
143     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
144 <div class="section">
145 <h2><a name="twoips" id="twoips">Serveurs virtuels par nom sur plus 
146     d'une seule adresse IP.</a></h2>
147
148         <div class="note">
149           <h3>Note&nbsp;:</h3><p>Toutes les techniques présentées ici 
150           peuvent être étendues à un plus grand nombre d'adresses IP.</p>
151     </div>
152
153     <p>Le serveur a deux adresses IP. Sur l'une 
154     (<code>172.20.30.40</code>), le serveur "principal" 
155     <code>server.example.com</code> doit répondre, et sur l'autre 
156     (<code>172.20.30.50</code>), deux serveurs virtuels (ou plus) 
157     répondront.</p>
158
159     <div class="example"><h3>Configuration du serveur</h3><p><code>
160     
161
162     Listen 80<br />
163         <br />
164     # Serveur "principal" sur 172.20.30.40<br />
165     ServerName server.example.com<br />
166     DocumentRoot /www/mainserver<br />
167         <br />
168     &lt;VirtualHost 172.20.30.50&gt;<br />
169     <span class="indent">
170         DocumentRoot /www/example.com<br />
171         ServerName www.example.com<br />
172                 <br />
173         # D'autres directives ici ...<br />
174                    <br />
175     </span>
176     &lt;/VirtualHost&gt;<br />
177         <br />
178     &lt;VirtualHost 172.20.30.50&gt;<br />
179     <span class="indent">
180         DocumentRoot /www/example.org<br />
181         ServerName www.example.org<br />
182                 <br />
183         # D'autres directives ici ...<br />
184                 <br />
185     </span>
186     &lt;/VirtualHost&gt;
187     </code></p></div>
188
189     <p>Toute requête arrivant sur une autre adresse que 
190     <code>172.20.30.50</code> sera servie par le serveur principal. 
191     Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur 
192     inconnu, ou sans en-tête <code>Host:</code>, seront servies par 
193     <code>www.example.com</code>.</p>
194
195     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
196 <div class="section">
197 <h2><a name="intraextra" id="intraextra">Servir le même contenu sur des 
198     adresses IP différentes (telle qu'une adresse interne et une 
199     externe).</a></h2>
200
201     <p>La machine serveur dispose de deux adresses IP 
202     (<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette 
203     machine est placée à la fois sur le réseau interne (l'Intranet) 
204     et le réseau externe (Internet). Sur Internet, le nom 
205     <code>server.example.com</code> pointe vers l'adresse externe 
206     (<code>172.20.30.40</code>), mais sur le réseau interne, ce même 
207     nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
208
209     <p>Le serveur peut être configuré pour répondre de la même manière 
210     aux requêtes internes et externes, au moyen d'une seule section 
211     <code>VirtualHost</code>.</p>
212
213     <div class="example"><h3>Configuration du serveur</h3><p><code>
214     
215
216     <br />
217     &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
218     <span class="indent">
219         DocumentRoot /www/server1<br />
220         ServerName server.example.com<br />
221         ServerAlias server<br />
222     </span>
223     &lt;/VirtualHost&gt;
224     </code></p></div>
225
226     <p>Ainsi, les requêtes en provenance de chacun des deux réseaux 
227     seront servies par le même <code>VirtualHost</code>.</p>
228
229     <div class="note">
230           <h3>Note&nbsp;:</h3><p>Sur le réseau interne, il est possible 
231           d'utiliser le nom raccourci <code>server</code> au lieu du nom 
232           complet <code>server.example.com</code>.</p>
233
234           <p>Notez également que dans l'exemple précédent, vous pouvez 
235           remplacer la liste des adresses IP par des <code>*</code> afin 
236           que le serveur réponde de la même manière sur toutes ses 
237           adresses.</p>
238     </div>
239
240     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
241 <div class="section">
242 <h2><a name="port" id="port">Servir différents sites sur différents 
243     ports.</a></h2>
244
245     <p>Vous disposez de plusieurs domaines pointant sur la même adresse 
246     IP et vous voulez également servir de multiples ports. L'exemple
247     suivant montre que la sélection en fonction du nom intervient après
248     la sélection de la meilleure correspondance du point de vue adresse
249     IP/port.</p>
250
251     <div class="example"><h3>Configuration du serveur</h3><p><code>
252     
253
254     Listen 80<br />
255     Listen 8080<br />
256                 <br />
257     &lt;VirtualHost 172.20.30.40:80&gt;<br />
258     <span class="indent">
259         ServerName www.example.com<br />
260         DocumentRoot /www/domain-80<br />
261     </span>
262     &lt;/VirtualHost&gt;<br />
263                 <br />
264     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
265     <span class="indent">
266         ServerName www.example.com<br />
267         DocumentRoot /www/domain-8080<br />
268     </span>
269     &lt;/VirtualHost&gt;<br />
270                 <br />
271     &lt;VirtualHost 172.20.30.40:80&gt;<br />
272     <span class="indent">
273         ServerName www.example.org<br />
274         DocumentRoot /www/otherdomain-80<br />
275     </span>
276     &lt;/VirtualHost&gt;<br />
277                 <br />
278     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
279     <span class="indent">
280         ServerName www.example.org<br />
281         DocumentRoot /www/otherdomain-8080<br />
282     </span>
283     &lt;/VirtualHost&gt;
284     </code></p></div>
285
286         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
287 <div class="section">
288 <h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a></h2>
289
290     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
291     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
292     <code>www.example.com</code> et <code>www.example.org</code>.</p>
293
294     <div class="example"><h3>Configuration du serveur</h3><p><code>
295     
296
297     Listen 80<br />
298                 <br />
299     &lt;VirtualHost 172.20.30.40&gt;<br />
300     <span class="indent">
301         DocumentRoot /www/example.com<br />
302         ServerName www.example1.com<br />
303     </span>
304     &lt;/VirtualHost&gt;<br />
305                 <br />
306     &lt;VirtualHost 172.20.30.50&gt;<br />
307     <span class="indent">
308         DocumentRoot /www/example.org<br />
309         ServerName www.example2.org<br />
310     </span>
311     &lt;/VirtualHost&gt;
312     </code></p></div>
313
314     <p>Les requêtes provenant d'adresses non spécifiées dans l'une des 
315     directives <code>&lt;VirtualHost&gt;</code> (comme pour 
316     <code>localhost</code> par exemple) seront dirigées vers le serveur 
317     principal, s'il en existe un.</p>
318
319         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
320 <div class="section">
321 <h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur 
322     les ports et sur les IP</a></h2>
323
324     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
325     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
326     <code>www.example.com</code> et <code>www.example.org</code>. 
327     Pour chacun d'eux, nous voulons un hébergement sur les ports 80 
328     et 8080.</p>
329
330     <div class="example"><h3>Configuration du serveur</h3><p><code>
331     
332
333     Listen 172.20.30.40:80<br />
334     Listen 172.20.30.40:8080<br />
335     Listen 172.20.30.50:80<br />
336     Listen 172.20.30.50:8080<br />
337                 <br />
338     &lt;VirtualHost 172.20.30.40:80&gt;<br />
339     <span class="indent">
340         DocumentRoot /www/example.com-80<br />
341         ServerName www.example.com<br />
342     </span>
343     &lt;/VirtualHost&gt;<br />
344                 <br />
345     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
346     <span class="indent">
347         DocumentRoot /www/example.com-8080<br />
348         ServerName www.example.com<br />
349                 </span>
350     &lt;/VirtualHost&gt;<br />
351                 <br />
352     &lt;VirtualHost 172.20.30.50:80&gt;<br />
353     <span class="indent">
354         DocumentRoot /www/example.org-80<br />
355         ServerName www.example.org<br />
356     </span>
357     &lt;/VirtualHost&gt;<br />
358                 <br />
359     &lt;VirtualHost 172.20.30.50:8080&gt;<br />
360     <span class="indent">
361         DocumentRoot /www/example.org-8080<br />
362         ServerName www.example.org<br />
363     </span>
364     &lt;/VirtualHost&gt;
365     </code></p></div>
366
367         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
368 <div class="section">
369 <h2><a name="mixed" id="mixed">Hébergements virtuels mixtes basé sur 
370     les noms et sur IP</a></h2>
371
372     <p>Toute adresse indiquée comme argument d'une section VirtualHost
373     et n'apparaissant dans aucun autre serveur virtuel, fait de cette
374     section un serveur virtuel sélectionnable uniquement en fonction de
375     son adresse IP.</p>
376
377     <div class="example"><h3>Configuration du serveur</h3><p><code>
378     
379
380     Listen 80<br />
381     &lt;VirtualHost 172.20.30.40&gt;<br />
382     <span class="indent">
383         DocumentRoot /www/example1<br />
384         ServerName www.example.com<br />
385     </span>
386     &lt;/VirtualHost&gt;<br />
387                 <br />
388     &lt;VirtualHost 172.20.30.40&gt;<br />
389     <span class="indent">
390         DocumentRoot /www/example2<br />
391         ServerName www.example.org<br />
392     </span>
393     &lt;/VirtualHost&gt;<br />
394                 <br />
395     &lt;VirtualHost 172.20.30.40&gt;<br />
396     <span class="indent">
397         DocumentRoot /www/example3<br />
398         ServerName www.example.net<br />
399     </span>
400     &lt;/VirtualHost&gt;<br />
401                 <br />
402     # "par-IP"<br />
403     &lt;VirtualHost 172.20.30.50&gt;<br />
404     <span class="indent">
405         DocumentRoot /www/example4<br />
406         ServerName www.example.edu<br />
407     </span>
408     &lt;/VirtualHost&gt;<br />
409                 <br />
410     &lt;VirtualHost 172.20.30.60&gt;<br />
411     <span class="indent">
412         DocumentRoot /www/example5<br />
413         ServerName www.example.gov<br />
414     </span>
415     &lt;/VirtualHost&gt;
416     </code></p></div>
417
418         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
419 <div class="section">
420 <h2><a name="proxy" id="proxy">Utilisation simultanée de 
421     <code>Virtual_host</code> et de mod_proxy</a></h2>
422
423     <p>L'exemple suivant montre comment une machine peut mandater 
424     un serveur virtuel fonctionnant sur le serveur d'une autre machine. 
425     Dans cet exemple, un serveur virtuel de même nom est configuré sur 
426     une machine à l'adresse <code>192.168.111.2</code>. La directive 
427     <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost on">ProxyPreserveHost On</a></code> est 
428     employée pour permette au nom de domaine d'être préservé lors du 
429     transfert, au cas où plusieurs noms de domaines cohabitent sur 
430     une même machine.</p>
431
432     <div class="example"><p><code>
433     &lt;VirtualHost *:*&gt;<br />
434         ProxyPreserveHost On<br />
435         ProxyPass / http://192.168.111.2<br />
436         ProxyPassReverse / http://192.168.111.2/<br />
437         ServerName hostname.example.com<br />
438     &lt;/VirtualHost&gt;
439     </code></p></div>
440
441     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
442 <div class="section">
443 <h2><a name="default" id="default">Utilisation de serveurs virtuels 
444     <code>_default_</code></a></h2>
445
446     <h3><a name="defaultallports" id="defaultallports">Serveurs virtuels 
447     <code>_default_</code> pour tous les ports</a></h3>
448
449     <p>Exemple de capture de <em>toutes</em> les requêtes émanant 
450     d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un 
451     couple adresse/port non traité par aucun autre serveur virtuel.</p>
452
453     <div class="example"><h3>Configuration du serveur</h3><p><code>
454     
455
456     &lt;VirtualHost _default_:*&gt;<br />
457     <span class="indent">
458         DocumentRoot /www/default<br />
459     </span>
460     &lt;/VirtualHost&gt;
461     </code></p></div>
462
463     <p>L'utilisation d'un tel serveur virtuel avec un joker pour le 
464     port empêche de manière efficace qu'une requête n'atteigne le 
465     serveur principal.</p>
466
467     <p>Un serveur virtuel par défaut ne servira jamais une requête 
468     qui est envoyée vers un couple adresse/port utilisée par un 
469     serveur virtuel par nom. Si la requête contient un en-tête 
470     <code>Host:</code> inconnu, ou si celui-ci est absent, elle 
471     sera toujours servie par le serveur virtuel primaire par nom 
472     (celui correspondant à ce couple adresse/port trouvé en premier 
473     dans le fichier de configuration).</p>
474
475     <p>Vous pouvez utiliser une directive 
476     <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ou 
477     <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> afin de 
478     réécrire une requête pour une unique page d'information (ou pour 
479     un script).</p>
480     
481
482     <h3><a name="defaultdifferentports" id="defaultdifferentports">Serveurs virtuels 
483     <code>_default_</code> pour des ports différents</a></h3>
484
485     <p>La configuration est similaire à l'exemple précédent, mais 
486     le serveur écoute sur plusieurs ports et un second serveur virtuel 
487     <code>_default_</code> pour le port 80 est ajouté.</p>
488
489     <div class="example"><h3>Configuration du serveur</h3><p><code>
490     
491
492     &lt;VirtualHost _default_:80&gt;<br />
493     <span class="indent">
494         DocumentRoot /www/default80<br />
495         # ...<br />
496     </span>
497     &lt;/VirtualHost&gt;<br />
498                 <br />
499     &lt;VirtualHost _default_:*&gt;<br />
500     <span class="indent">
501         DocumentRoot /www/default<br />
502         # ...<br />
503     </span>
504     &lt;/VirtualHost&gt;
505     </code></p></div>
506
507     <p>Le serveur virtuel par défaut défini pour le port 80 (il doit 
508     impérativement être placé avant un autre serveur virtuel par 
509     défaut traitant tous les ports grâce au joker *) capture toutes 
510     les requêtes envoyées sur une adresse IP non spécifiée. Le 
511     serveur principal n'est jamais utilisé pour servir une requête.</p>
512     
513
514     <h3><a name="defaultoneport" id="defaultoneport">Serveurs virtuels 
515     <code>_default_</code> pour un seul port</a></h3>
516
517     <p>Nous voulons créer un serveur virtuel par défaut seulement 
518     pour le port 80.</p>
519
520     <div class="example"><h3>Configuration du serveur</h3><p><code>
521     
522
523     &lt;VirtualHost _default_:80&gt;<br />
524     DocumentRoot /www/default<br />
525     ...<br />
526     &lt;/VirtualHost&gt;
527     </code></p></div>
528
529     <p>Une requête vers une adresse non spécifiée sur le port 80 
530     sera servie par le serveur virtuel par défaut, et toute autre 
531     requête vers une adresse et un port non spécifiés sera servie 
532     par le serveur principal.</p>
533
534     <p>L'utilisation du caractère générique <code>*</code> dans la
535     déclaration d'un serveur virtuel l'emporte sur
536     <code>_default_</code>.</p>
537     
538
539         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
540 <div class="section">
541 <h2><a name="migrate" id="migrate">Migration d'un serveur virtuel 
542         par nom en un serveur virtuel par IP</a></h2>
543
544     <p>Le serveur virtuel par nom avec le nom de domaine 
545     <code>www.example.org</code> (de notre <a href="#name">exemple 
546     par nom</a>) devrait obtenir sa propre adresse IP. Pendant la 
547     phase de migration, il est possible d'éviter les problèmes avec 
548     les noms de serveurs et autres serveurs mandataires qui mémorisent 
549     les vielles adresses IP pour les serveurs virtuels par nom.<br />
550     La solution est simple, car il suffit d'ajouter la nouvelle 
551     adresse IP (<code>172.20.30.50</code>) dans la directive 
552     <code>VirtualHost</code>.</p>
553
554     <div class="example"><h3>Configuration du serveur</h3><p><code>
555     
556
557     Listen 80<br />
558     ServerName www.example.com<br />
559     DocumentRoot /www/example.com<br />
560                 <br />
561     &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
562     <span class="indent">
563         DocumentRoot /www/example.org<br />
564         ServerName www.example.org<br />
565         # ...<br />
566     </span>
567     &lt;/VirtualHost&gt;<br />
568                 <br />
569     &lt;VirtualHost 172.20.30.40&gt;<br />
570     <span class="indent">
571         DocumentRoot /www/example.net<br />
572         ServerName www.example.net<br />
573         ServerAlias *.example.net<br />
574         # ...<br />
575     </span>
576     &lt;/VirtualHost&gt;
577     </code></p></div>
578
579     <p>Le serveur virtuel peut maintenant être joint par la nouvelle 
580     adresse (comme un serveur virtuel par IP) et par l'ancienne 
581     adresse (comme un serveur virtuel par nom).</p>
582
583         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
584 <div class="section">
585 <h2><a name="serverpath" id="serverpath">Utilisation de la directive 
586     <code>ServerPath</code></a></h2>
587
588     <p>Dans le cas où vous disposez de deux serveurs virtuels par nom, 
589     le client doit transmettre un en-tête <code>Host:</code> correct 
590     pour déterminer le serveur concerné. Les vieux clients HTTP/1.0 
591     n'envoient pas un tel en-tête et Apache n'a aucun indice pour 
592     connaître le serveur virtuel devant être joint (il sert la 
593     requête à partir d'un serveur virtuel primaire). Dans un soucis 
594     de préserver la compatibilité descendante, il suffit de créer 
595     un serveur virtuel primaire chargé de retourner une page contenant 
596     des liens dont les URLs auront un préfixe identifiant les serveurs 
597     virtuels par nom.</p>
598
599     <div class="example"><h3>Configuration du serveur</h3><p><code>
600     
601
602     &lt;VirtualHost 172.20.30.40&gt;<br />
603     <span class="indent">
604         # Serveur virtuel primaire<br />
605         DocumentRoot /www/subdomain<br />
606         RewriteEngine On<br />
607         RewriteRule ^/.* /www/subdomain/index.html<br />
608         # ...<br />
609     </span>
610     &lt;/VirtualHost&gt;<br />
611                 <br />
612     &lt;VirtualHost 172.20.30.40&gt;<br />
613     DocumentRoot /www/subdomain/sub1<br />
614     <span class="indent">
615         ServerName www.sub1.domain.tld<br />
616         ServerPath /sub1/<br />
617         RewriteEngine On<br />
618         RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
619         # ...<br />
620     </span>
621     &lt;/VirtualHost&gt;<br />
622                 <br />
623     &lt;VirtualHost 172.20.30.40&gt;<br />
624     <span class="indent">
625         DocumentRoot /www/subdomain/sub2<br />
626         ServerName www.sub2.domain.tld<br />
627         ServerPath /sub2/<br />
628         RewriteEngine On<br />
629         RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
630         # ...<br />
631     </span>
632     &lt;/VirtualHost&gt;
633     </code></p></div>
634
635     <p>À cause de la directive 
636     <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur 
637     une URL <code>http://www.sub1.domain.tld/sub1/</code> est 
638     <em>toujours</em> servie par le serveur sub1-vhost.<br />
639     Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est 
640     servie par le serveur sub1-vhost que si le client envoie un en-tête 
641     <code>Host:</code> correct. Si aucun en-tête <code>Host:</code> 
642     n'est transmis, le serveur primaire sera utilisé.</p>
643     <p>Notez qu'il y a une singularité&nbsp;: une requête sur 
644     <code>http://www.sub2.domain.tld/sub1/</code> est également servie 
645     par le serveur sub1-vhost si le client n'envoie pas d'en-tête 
646     <code>Host:</code>.</p>
647     <p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 
648     sont employées pour s'assurer que le client qui envoie un en-tête 
649     <code>Host:</code> correct puisse utiliser d'autres variantes d'URLs, 
650     <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
651
652         </div></div>
653 <div class="bottomlang">
654 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
655 <a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
656 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
657 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
658 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
659 </div><div id="footer">
660 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
661 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
662 </body></html>