]> granicus.if.org Git - apache/blob - docs/manual/vhosts/name-based.html.fr
961994494cfa15623fa9871c2ceca131922433a1
[apache] / docs / manual / vhosts / name-based.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>Support Apache des serveurs virtuels par nom - 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>Support Apache des serveurs virtuels par nom</h1>
20 <div class="toplang">
21 <p><span>Langues Disponibles: </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="../fr/vhosts/name-based.html" title="Français">&nbsp;fr&nbsp;</a> |
24 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
26 </div>
27
28     <p>Ce document décrit quand et comment utiliser des serveurs 
29     virtuels par nom.</p>
30 </div>
31 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#namevip">Serveurs virtuels par nom vs. par IP</a></li>
32 <li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de serveurs virtuels par nom</a></li>
33 <li><img alt="" src="../images/down.gif" /> <a href="#compat">Compatibilité avec les navigateurs anciens</a></li>
34 </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></li><li><a href="details.html">Détails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des hébergements virtuels de masse</a></li><li><a href="examples.html">Exemples d'utilisations de VirtualHost</a></li><li><a href="examples.html#serverpath">Utilisation de la directive ServerPath</a></li></ul></div>
35 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
36 <div class="section">
37 <h2><a name="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a></h2>
38
39     <p>Les hébergements virtuels par IP utilisent l'adresse IP 
40     de la connexion afin de déterminer quel serveur virtuel doit 
41     répondre. Par conséquent, vous devez disposer d'adresses IP 
42     différentes pour chaque nom de domaine complet (FQDN) que vous hébergez. 
43     Avec un hébergement 
44     virtuel par nom, le serveur s'appuit sur les informations 
45     transmises par le client dans les en-têtes HTTP de ses requêtes. 
46     La technique présentée ici vous permet de disposer de serveurs 
47     virtuels différents partagés sur une même adresse IP.</p>
48
49     <p>L'hébergement virtuel par nom est habituellement plus simple, 
50     car il vous suffit de configurer votre serveur DNS pour que 
51     chaque domaine pointe sur l'adresse IP dont vous disposez, et de 
52     configurer votre serveur Apache HTTP afin qu'il reconnaisse 
53     ces domaines. Il réduit aussi la pénurie en adresses IP. Par 
54     conséquent, vous devriez utiliser l'hébergement virtuel par 
55     nom à moins d'avoir une raison spécifique de préférer 
56     l'hébergement virtuel par IP. Certaines de ces raisons vous 
57     sont exposées ci-après&nbsp;:</p>
58
59     <ul>
60         <li>Certains anciens navigateurs ne sont pas compatibles 
61         avec les serveurs virtuels par nom, car pour fonctionner, 
62         un client doit transmettre un champ d'en-tête HTTP Host. 
63         Cet en-tête est exigé pour HTTP/1.1, et peut être implémenté 
64         sur des navigateurs modernes HTTP/1.0 grâce à une extension. 
65         Si vous devez maintenir des clients obsolètes tout en 
66         utilisant l'hébergement virtuel par nom, il existe une 
67         technique qui est traitée à la fin de ce document.</li>
68
69         <li>L'hébergement virtuel par nom ne peut pas être utilisé 
70         avec des serveurs sécurisés SSL à cause de la nature même 
71         du protocole SSL.</li>
72
73         <li>Certains systèmes d'exploitation et équipements réseaux 
74         emploient des techniques de gestion de la bande passante 
75         qui ne peuvent pas différencier des domaines autrement que 
76         par des adresses IP séparées.</li>
77     </ul>
78
79 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
80 <div class="section">
81 <h2><a name="using" id="using">Utilisation de serveurs virtuels par nom</a></h2>
82
83 <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</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">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
84
85     <p>Pour utiliser des serveurs virtuels par nom, vous devez 
86     désigner l'adresse IP (et si possible le port) sur le serveur 
87     devant accepter les requêtes pour des domaines. Cette 
88     configuration utilise la directive 
89     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Dans un 
90     cas normal où n'importe quelle adresse IP peut être utilisée, 
91     vous pouvez ajouter <code>*</code> comme argument de la directive 
92     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous 
93     prévoyez d'utiliser de multiples ports (comme l'emploi de SSL), 
94     vous devriez ajouter le port à cet argument tel que 
95     <code>*:80</code>. Notez que la simple mention d'une adresse 
96     IP dans une directive 
97     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne suffit 
98     pas à faire écouter le serveur sur cette IP. Consultez 
99     <a href="../bind.html">la page sur les liaisons</a> pour plus 
100     de détails. Par ailleurs, chaque adresse IP spécifiée ici doit 
101     être associée avec une interface réseau sur le serveur.</p>
102
103     <p>L'étape suivante est la création d'une section 
104     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
105     pour chacun des serveurs à créer. L'argument de la directive 
106     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
107     doit être le même que celui de la directive 
108     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> 
109     (c'est-à-dire l'adresse IP ou <code>*</code> pour toutes les 
110     adresses). Dans chaque section 
111     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, 
112     vous devez définir au minimum une directive 
113     <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner 
114     le serveur concerné et une directive 
115     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser 
116     l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
117
118     <div class="note"><h3>Le serveur principal disparaît</h3>
119         <p>Si vous ajoutez des serveurs virtuels à un serveur Web 
120         existant, vous devez également créer une section 
121         <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
122         redéfinissant ce serveur existant. Les directives 
123         <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et 
124         <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> incluses 
125         dans ce serveur virtuel doivent être les mêmes que pour 
126         les directives globales 
127         <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et 
128         <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Positionnez 
129         ce serveur virtuel en premier dans le fichier de configuration 
130         pour en faire le serveur par défaut.</p>
131     </div>
132
133     <p>Par exemple, supposez que vous hébergez le domaine 
134     <code>www.domain.tld</code> et que vous souhaitez ajouter le 
135     serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur 
136     la même adresse IP. Il vous suffit d'ajouter la configuration 
137     suivante à <code>httpd.conf</code>&nbsp;:</p>
138
139     <div class="example"><p><code>
140         NameVirtualHost *:80<br />
141         <br />
142         &lt;VirtualHost *:80&gt;<br />
143         <span class="indent">
144             ServerName www.domain.tld<br />
145             ServerAlias domain.tld *.domain.tld<br />
146             DocumentRoot /www/domain<br />
147         </span>
148         &lt;/VirtualHost&gt;<br />
149         <br />
150         &lt;VirtualHost *:80&gt;<br />
151         <span class="indent">ServerName www.otherdomain.tld<br />
152             DocumentRoot /www/otherdomain<br />
153         </span>
154         &lt;/VirtualHost&gt;<br />
155     </code></p></div>
156
157     <p>Autrement, vous pouvez spécifiez une adresse IP explicite 
158     à la place de <code>*</code> dans les deux directives 
159     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> et 
160     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
161     Par exemple, cette méthode est utile si vous souhaitez faire 
162     tourner quelques serveurs virtuels par nom sur une même adresse 
163     IP, et d'autres, soit par IP, soit basés sur un autre jeu de 
164     serveurs virtuels par nom sur une autre adresse IP.</p>
165
166     <p>Plusieurs serveurs sont accessibles par plus d'un nom. Il 
167     suffit de placer la directive 
168     <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section 
169     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
170     Par exemple, dans la première section 
171     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
172     ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> 
173     indique aux utilisateurs les autres noms permis pour accéder au 
174     même site Web&nbsp;:</p>
175
176     <div class="example"><p><code>
177         ServerAlias domain.tld *.domain.tld
178     </code></p></div>
179
180     <p>ainsi, toutes les requêtes portant sur un domaine 
181     <code>domain.tld</code> seront servies par le serveur virtuel 
182     <code>www.domain.tld</code>. Les caractères joker <code>*</code> 
183     et <code>?</code> peuvent être utilisés pour les correspondances. 
184     Bien entendu, vous ne pouvez pas inventer des noms et les placer 
185     dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> 
186     ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS 
187     doit être correctement configuré pour lier ces noms à une 
188     adresse IP associée avec votre serveur.</p>
189
190     <p>Finalement, vous pouvez affiner la configuration des serveurs 
191     virtuels en plaçant d'autres directives à l'intérieur des sections 
192     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. 
193     La plupart des directives peut être placée dans ces sections en 
194     y changeant seulement la configuration du serveur virtuel associé. 
195     Pour déterminer si une directive particulière est permise, 
196     consultez <a href="../mod/directive-dict.html#Context">la page de 
197     contexte</a>. Le jeu de directives configurées dans le contexte 
198     du <em>serveur principal</em> (en dehors de toutes sections 
199     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>) 
200     sera utilisé seulement s'il n'y a pas de configuration contraire 
201     par un serveur virtuel.</p>
202
203     <p>Maintenant, lorsqu'une requête arrive, le serveur va d'abord 
204     tester si elle utilise une adresse IP qui correspond à 
205     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si c'est 
206     le cas, il regardera chaque section 
207     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
208     avec l'adresse correspondante et essaiera d'en trouver une où 
209     le nom de domaine requis correspond à 
210     <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou 
211     <code>ServerAlias</code>. S'il en trouve une, il utilisera 
212     sa configuration pour le serveur. Si aucun serveur virtuel ne 
213     correspond, alors <em>le premier serveur virtuel listé</em> 
214     dont l'adresse IP correspond sera employé.</p>
215
216     <p>En conséquence, le premier serveur virtuel listé est le 
217     serveur virtuel <em>default</em>. La directive 
218     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> du 
219     <em>serveur principal</em> <strong>ne</strong> sera 
220     <strong>jamais</strong> employée lorsqu'une adresse IP 
221     correspond dans une directive 
222     <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous 
223     ne voulez pas avoir de configuration spéciale pour les requêtes 
224     qui ne sont pas attachées à un serveur virtuel en particulier, 
225     mettez cette configuration dans une section 
226     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
227     que vous placerez en premier dans le fichier de configuration.</p>
228
229 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
230 <div class="section">
231 <h2><a name="compat" id="compat">Compatibilité avec les navigateurs anciens</a></h2>
232
233     <p>Comme mentionné plus tôt, certains clients ne transmettent 
234     pas les données nécessaires pour le bon fonctionnement des 
235     serveurs virtuels. Ces clients recevront toujours les pages 
236     du premier serveur virtuel listé pour cette adresse IP (le 
237     serveur virtuel par nom <cite>primaire</cite>).</p>
238
239     <div class="note"><h3>De combien plus anciens&nbsp;?</h3>
240     <p>Veuillez noter que quand nous disons plus anciens, nous 
241     disons vraiment plus anciens. Vous seriez malchanceux de rencontrer 
242     de tels navigateurs encore utilisés de nos jours. Toutes les 
243     versions actuelles des navigateurs transmettent leur en-tête 
244     <code>Host</code> comme exigé par les serveurs virtuels par nom.</p>
245     </div>
246
247     <p>Il existe une solution avec la directive 
248     <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, bien que 
249     légèrement complexe&nbsp;:</p>
250
251     <p>Exemple de configuration&nbsp;:</p>
252
253     <div class="example"><p><code>
254         NameVirtualHost 111.22.33.44<br />
255         <br />
256         &lt;VirtualHost 111.22.33.44&gt;<br />
257         <span class="indent">
258             ServerName www.domain.tld<br />
259             ServerPath /domain<br />
260             DocumentRoot /web/domain<br />
261         </span>
262         &lt;/VirtualHost&gt;<br />
263     </code></p></div>
264
265     <p>Qu'est-ce que cela signifie&nbsp;? Il signifie qu'une requête 
266     pour tout URI qui commence par "<code>/domain</code>" sera 
267     servie par le serveur virtuel <code>www.domain.tld</code>. 
268     Ainsi, les pages sont accessibles à 
269     <code>http://www.domain.tld/domain/</code> pour tous les 
270     clients, bien que ceux qui transmettent un en-tête 
271     <code>Host:</code> peuvent également y accéder à 
272     <code>http://www.domain.tld/</code>.</p>
273
274     <p>Pour rendre cette technique fonctionnelle, mettez un lien 
275     dans votre serveur virtuel primaire vers 
276     <code>http://www.domain.tld/domain/</code>. Ensuite, dans les 
277     pages de ce serveur virtuel, assurez vous ne n'utiliser que 
278     des liens relatifs (<em>par exemple</em>, "<code>file.html</code>" 
279     ou "<code>../icons/image.gif</code>") ou des liens contenant 
280     le préfixe <code>/domain/</code> (<em>par exemple</em>, 
281     "<code>http://www.domain.tld/domain/misc/file.html</code>" 
282     ou "<code>/domain/misc/file.html</code>").</p>
283
284     <p>Cela requiert un peu de discipline, mais si vous suivez 
285     cette ligne de conduite, vous serez assuré que vos pages 
286     s'afficheront dans tous les navigateurs, nouveaux et anciens.</p>
287
288 </div></div>
289 <div class="bottomlang">
290 <p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
291 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
292 <a href="../fr/vhosts/name-based.html" title="Français">&nbsp;fr&nbsp;</a> |
293 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
294 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
295 </div><div id="footer">
296 <p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Authorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
297 <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>
298 </body></html>