summaryrefslogtreecommitdiffstats
path: root/docs/manual/vhosts/details.html.fr
blob: 1e6c468aba6f42dab017bcbb9b52396f32ae4bf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>D�tails sur le fonctionnement des serveurs virtuels - Serveur Apache HTTP</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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>D�tails sur le fonctionnement des serveurs virtuels</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/vhosts/details.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>


    <p>Le code g�rant les serveurs virtuels a �t� r��crit � partir de
    z�ro dans <strong>Apache 1.3</strong>. Ce document vise � expliquer
    dans le d�tail comment Apache proc�de lors du choix de l'utilisation
    d'un serveur virtuel en fonction d'une requ�te re�ue. L'apparition
    de la directive  <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    a rendu beaucoup plus facile et plus s�re la configuration des
    serveurs virtuels par rapport aux versions pr�c�dant la 1.3.</p>

    <p>Si vous voulez juste <cite>que �a marche</cite> sans en
    comprendre le fonctionnement, voici <a href="examples.html">quelques
    exemples</a>.</p>

</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#configparsing">Interpr�tation des fichiers
de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hostmatching">Choix du serveur virtuel</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#tips">Trucs et astuces</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="configparsing" id="configparsing">Interpr�tation des fichiers
de configuration</a></h2>

    <p>Un <em>serveur  principal (main_server)</em> contient toutes
    les d�finitions qui apparaissent en dehors des sections
    <code>&lt;VirtualHost&gt;</code>. Les serveurs virtuels, aussi
    appel�s <em>vhosts</em> (pour virtual hosts), sont d�finis par les
    sections <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>

    <p>Les directives
    <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>,
    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>,
    <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>,
    et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
    peuvent �tre plac�es n'importe o� dans le cadre de d�finition d'un
    serveur. Cependant, chaque fois que l'une d'elles est lue, elle �crase
    ses instances pr�c�dentes (dans le contexte du m�me serveur).</p>

    <p>La valeur par d�faut du champ <code>Listen</code> pour le serveur
    principal est de 80. Le serveur principal n'a pas de valeur par
    d�faut pour <code>ServerPath</code> ni pour <code>ServerAlias</code>.
    La valeur par d�faut de <code>ServerName</code> est d�duite � partir
    de l'adresses IP du serveur.</p>

    <p>La directive Listen associ�e au serveur principal a deux utilit�s.
    La premi�re d�termine le port r�seau sur lequel Apache va �couter.
    La deuxi�me sp�cifie le port qui sera utilis� dans les URIs absolus
    lors des redirections.</p>

    <p>� la diff�rence du serveur principal, les ports des serveurs
    virtuels <em>n</em>'affectent <em>pas</em> les ports sur lesquels
    Apache se met � l'�coute.</p>

    <p>Chaque adresse incluse dans une directive <code>VirtualHost</code>
    peut disposer d'un port optionnel. Si le port n'est pas pr�cis�, il
    prend par d�faut la derni�re valeur de <code>Listen</code> lue dans
    la configuration du serveur principal. Le port particulier
    <code>*</code> repr�sente un joker qui correspond � tous les ports.
    L'ensemble des adresses (y compris les r�sultats multiples
    <code>A</code> issus des requ�tes DNS) est appel� <em>jeu
    d'adresses</em> du serveur virtuel.</p>

    <p>� moins qu'une directive
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne soit utilis�e
    pour une adresse IP sp�cifique, le premier serveur virtuel avec
    cette adresse est consid�r� comme un <em>serveur virtuel par-IP</em>.
    L'adresse IP peut �galement prendre la valeur joker <code>*</code>.</p>

    <p>Dans les cas o� l'on souhaite utiliser un <em>serveur virtuel
    par nom</em>, la directive <code>NameVirtualHost</code> <em>doit</em>
    appara�tre avec l'adresse IP choisie. En d'autres termes, vous devez
    sp�cifier dans votre fichier de configuration l'adresse IP des noms
    de domaine (CNAME) de vos serveurs virtuels par nom au moyen de
    la directive <code>NameVirtualHost</code>.</p>

    <p>On peut utiliser plusieurs directives <code>NameVirtualHost</code>
    pour un groupe de directives <code>VirtualHost</code>, mais seule
    une directive <code>NameVirtualHost</code> doit �tre utilis�e pour
    chaque couple IP:port donn�.</p>

    <p>L'ordre d'apparition des directives <code>NameVirtualHost</code>
    et <code>VirtualHost</code> est sans importance, ce qui fait que
    les deux exemples suivants ont des effets identiques (seul l'ordre
    des directives <code>VirtualHost</code> pour <em>un</em> jeu
    d'adresses est important, voir ci-dessous)&nbsp;:</p>

<table><tr>
<td><div class="example"><p><code>
  NameVirtualHost 111.22.33.44<br />
  &lt;VirtualHost 111.22.33.44&gt;<br />
  # serveur A<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  &lt;VirtualHost 111.22.33.44&gt;<br />
  # serveur B<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  <br />
  NameVirtualHost 111.22.33.55<br />
  &lt;VirtualHost 111.22.33.55&gt;<br />
  # serveur C<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  &lt;VirtualHost 111.22.33.55&gt;<br />
  # serveur D<br />
  ...<br />
  &lt;/VirtualHost&gt;
</code></p></div></td>
<td><div class="example"><p><code>
  &lt;VirtualHost 111.22.33.44&gt;<br />
  # serveur A<br />
  &lt;/VirtualHost&gt;<br />
  &lt;VirtualHost 111.22.33.55&gt;<br />
  # serveur C<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  &lt;VirtualHost 111.22.33.44&gt;<br />
  # serveur B<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  &lt;VirtualHost 111.22.33.55&gt;<br />
  # serveur D<br />
  ...<br />
  &lt;/VirtualHost&gt;<br />
  <br />
  NameVirtualHost 111.22.33.44<br />
  NameVirtualHost 111.22.33.55<br />
  <br />
</code></p></div></td>
</tr></table>


    <p>(Il est conseill� d'adopter le choix de gauche pour faciliter
    la lisibilit� des fichiers de configuration.)</p>

    <p>Apr�s la lecture de la directive <code>VirtualHost</code>, le
    serveur virtuel se voit attribuer une valeur <code>Listen</code>
    par d�faut qui est la valeur du port associ� au premier nom sp�cifi�
    dans sa directive <code>VirtualHost</code>.</p>

    <p>La liste compl�te des noms d'une directive <code>VirtualHost</code>
    est g�r�e exactement comme des <code>ServerAlias</code> (mais ne
    sont pas �cras�s par d'autres <code>ServerAlias</code>) si tous
    les noms sont r�solus dans ce jeu d'adresse. � noter que les �tats
    <code>Listen</code> de ce serveur virtuel sont sans incidence sur
    les ports attibu�s au jeu d'adresses.</p>

    <p>Pendant la phase d'initialisation, une liste de chaque adresse
    IP est g�n�r�e et introduite dans une table de 'hash'. Si une
    adresse IP est utilis�e dans une directive <code>NameVirtualHost</code>,
    cette liste contient les noms des serveurs virtuels pour cette
    adresse. Si aucun serveur virtuel n'est d�fini pour cette adresse,
    la directive <code>NameVirtualHost</code> est ignor�e et un message
    est envoy� au journal d'erreurs. Quand un serveur virtuel par IP
    est utilis�, la table de 'hash' reste vide.</p>

    <p>La fonction de 'hash' �tant rapide, le temps d'ex�cution d'un
    'hash' sur une adresse IP lors d'une requ�te est minimale et
    quasiment imperceptible. De plus, la table est optimis�e pour les
    adresses IP dont le dernier octet est le seul � changer.</p>

    <p>Pour chaque serveur virtuel, diverses valeurs sont initialis�es
    par d�faut. En particulier&nbsp;:</p>

    <ol>
      <li>Dans le cas o� un serveur virtuel ne contient pas de directives
      <code class="directive"><a href="../mod/core.html#serveradmin">ServerAdmin</a></code>,
      <code class="directive"><a href="../mod/core.html#resourceconfig">ResourceConfig</a></code>,
      <code class="directive"><a href="../mod/core.html#accessconfig">AccessConfig</a></code>,
      <code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code>,
      <code class="directive"><a href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code>,
      <code class="directive"><a href="../mod/core.html#keepalive">KeepAlive</a></code>,
      <code class="directive"><a href="../mod/core.html#maxkeepaliverequests">MaxKeepAliveRequests</a></code>,
      <code class="directive"><a href="../mod/core.html#receivebuffersize">ReceiveBufferSize</a></code>,
      ou <code class="directive"><a href="../mod/core.html#sendbuffersize">SendBufferSize</a></code>,
      alors la valeur de chacun de ces param�tres est h�rit�e de celle du
      serveur principal. (C'est � dire, h�rit�e de la valeur finale apr�s
      lecture de la configuration du serveur principal.)</li>

      <li>Les permissions par d�faut sur les r�pertoires de chaque
      serveur virtuel sont assembl�es avec celles du serveur principal.
      Elles concernent �galement toutes les informations de configuration
      par r�pertoire pour tous les modules.</li>

      <li>Les configurations par serveur pour chaque module sont assembl�es
      � partir de celles du serveur principal.</li>
    </ol>

    <p>L'essentiel des valeurs de configuration des serveurs virtuels
    provient de valeurs par d�faut issues du serveur principal.
    Mais la position dans le fichier de configuration des directives
    du serveur principal n'a pas d'importance -- l'ensemble de la
    configuration du serveur principal est lu avant que ces valeurs par
    d�faut soient appliqu�es aux serveur virtuels. Ainsi, m�me si la
    d�finition d'une valeur appara�t apr�s celle d'un serveur virtuel,
    cette valeur peut affecter la definition du serveur virtuel.</p>

    <p>Dans le cas o� le serveur principal n'a pas de <code>ServerName</code>
    � ce stade, le nom de la machine sur laquelle tourne le programme
    <code class="program"><a href="../programs/httpd.html">httpd</a></code> est utilis� � sa place. Nous appellerons
    <em>jeu d'adresses du serveur principal</em>, les adresses IP
    renvoy�es par une r�solution DNS sur le <code>ServerName</code>
    du serveur principal.</p>

    <p>Pour tous les champs <code>ServerName</code> non d�finis, dans
    le cas d'une configuration en serveur virtuel par nom, la valeur
    adopt�e par d�faut est la premi�re adresse donn�e dans la section
    <code>VirtualHost</code> qui d�finit le serveur virtuel.</p>

    <p>Si un serveur virtuel contient la valeur magique
    <code>_default_</code>, il fonctionne sur le m�me <code>ServerName</code>
    que le serveur principal.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="hostmatching" id="hostmatching">Choix du serveur virtuel</a></h2>

    <p>� la r�ception d'une requ�te, le serveur proc�de comme suit pour
    d�terminer quel serveur virtuel utiliser&nbsp;:</p>

    <h3><a name="hashtable" id="hashtable">V�rification dans la table de hash</a></h3>

    <p>Apr�s que le client se soit connect�, l'adresse
    IP � laquelle le client s'est connect� est recherch�e dans la
    table de hash IP interne.</p>

    <p>Si la r�solution de l'adresse IP n'aboutit pas (adresse IP non
    trouv�e), la requ�te est servie par le serveur virtuel
    <code>_default_</code> s'il est d�fini pour le port correspondant
    � la requ�te. Sinon, elle est servie par le serveur principal.</p>

    <p>Si l'adresse IP n'est pas trouv�e dans la table de hash, la
    recherche du num�ro de port peut aussi se terminer par une
    correspondance � un <code>NameVirtualHost *</code> qui est g�r�
    ensuite comme les autres serveur virtuels par noms.</p>

    <p>Si une liste est bien trouv�e dans la table pour l'adresse
    IP recherch�e, l'�tape suivante est de d�terminer s'il s'agit
    d'un serveur virtuel par nom ou par IP.</p>

    

    <h3><a name="ipbased" id="ipbased">Serveur virtuel par IP</a></h3>

    <p>Si l'entr�e trouv�e dispose d'une liste de noms vide, c'est
    qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
    n'est plus � faire&nbsp;; la requ�te est servie par ce serveur virtuel.</p>

    

    <h3><a name="namebased" id="namebased">Serveur virtuel par nom</a></h3>

    <p>Si l'entr�e trouv�e correspond � un serveur virtuel par nom,
    la liste de noms contient au moins une structure de serveurs
    virtuels. Les serveurs virtuels se pr�sentent dans cette liste
    dans le m�me ordre que la lecture des directives <code>VirtualHost</code>
    dans le fichier de configuration.</p>

    <p>Le premier serveur virtuel de cette liste (donc, le premier
    serveur virtuel attribu� � une adresse IP donn�e dans le fichier
    de configuration) se voit attribuer la plus grande priorit�, ce
    qui signifie que c'est lui qui traite les requ�tes pr�sentant un
    nom de serveur invalide ou ne pr�sentant pas de champ
    <code>Host:</code> dans l'en-t�te.</p>

    <p>Si un champ <code>Host:</code> est transmis dans l'en-t�te de
    la requ�te, son occurrence est recherch�e dans la liste et le
    premier serveur virtuel qui pr�sente un <code>ServerName</code>
    ou un <code>ServerAlias</code> correspondant est choisi pour
    servir la requ�te. Il est possible que le champ <code>Host:</code>
    contienne un num�ro de port, mais Apache utilise toujours le
    port sur lequel il a effectivement re�u la requ�te.</p>

    <p>Dans le cas o� le client a envoy� une requ�te en HTTP/1.0 sans
    un champ d'en-t�te <code>Host:</code>, il est impossible de
    d�terminer le serveur auquel le client veut se connecter&nbsp;; l'URI
    de la requ�te est recherch� dans tous les <code>ServerPath</code>
    existants. Le premier chemin trouv� est utilis� et la requ�te est
    servie par le serveur virtuel correspondant.</p>

    <p>Si aucun serveur virtuel n'est trouv�, la requ�te est servie
    par le premier serveur virtuel qui �coute sur le port demand� et
    qui est sur la liste associ�e � l'adresse IP vers laquelle la
    requ�te a �t� envoy�e (comme d�j� pr�cis� ci-avant).</p>

    

    <h3><a name="persistent" id="persistent">Connexions persistantes</a></h3>

    <p>La recherche par adresse IP d�crite ci-avant n'est faite
    qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
    recherche par nom est r�alis�e pour <em>chaque</em> requ�te au
    cours d'une connexion persistante (KeepAlive). En d'autres termes,
    il est possible pour un client de faire des requ�tes sur
    diff�rents serveurs virtuels par nom, au cours d'une unique
    connexion persistante.</p>

    

    <h3><a name="absoluteURI" id="absoluteURI">URI absolu</a></h3>

    <p>Au cas o� l'URI de la requ�te est absolu, et que son nom de
    serveur et son port correspondent au serveur principal (ou l'un
    des serveurs virtuels configur�s), <em>et</em> qu'ils correspondent
    � l'adresse et au port de la requ�te, alors l'URI est amput�
    de son pr�fixe protocole/nom de serveur/port et trait� par le
    serveur correspondant (principal ou virtuel). Si cette correspondance
    n'existe pas, l'URI reste inchang� et la requ�te est consid�r�e
    comme une requ�te d'un serveur mandataire (proxy).</p>


<h3><a name="observations" id="observations">Observations</a></h3>

    <ul>
      <li>Les serveurs virtuels par nom et par IP n'interf�rent
      jamais entre eux. Les serveurs virtuels par IP ne sont joignables
      qu'au travers de leur(s) adresse(s) IP propre(s), en aucun
      cas par aucune autre adresse. Les serveurs virtuels par nom
      ne sont accessibles que par leur(s) adresse(s) IP qui ne peuvent
      �tre d�finies qu'au moyen de la directive
      <code>NameVirtualHost</code>.</li>

      <li>Les v�rifications sur <code>ServerAlias</code> et
      <code>ServerPath</code> ne sont jamais r�alis�es pour les
      serveurs virtuels par IP.</li>

      <li>L'ordre dans lequel sont agenc�s dans le fichier de
      configuration le serveur virtuel <code>_default_</code>, les
      serveurs virtuels par nom et par IP, et la directive
      <code>NameVirtualHost</code> est sans incidence sur le
      fonctionnement. Seul l'ordre des serveurs virtuels par nom
      pour une adresse donn�e a une importance. Le serveur virtuel
      par nom qui est pr�sent en premier dans la configuration se
      voit attribu� la priorit� la plus haute pour les requ�tes
      arrivant sur son jeu d'adresses IP.</li>

      <li>Pour des raisons de s�curit�, le num�ro de port pr�sent�
      dans le champ d'en-t�te <code>Host:</code> n'est jamais utilis�
      pour les tests de correspondances. Apache ne prend en compte
      que le num�ro de port sur lequel le client a envoy� la requ�te.</li>

      <li>Si une directive <code>ServerPath</code> existe, et se
      trouve �tre pr�fixe d'une autre directive <code>ServerPath</code>
      qui appara�t plus loin dans la configuration, la premi�re
      sera toujours utilis�e et la deuxi�me jamais. (Ceci ne se
      produit que dans le cas o� aucun champ <code>Host:</code>
      n'a �t� pr�sent� par le client pour distinguer les deux.)</li>

      <li>Dans le cas o� deux serveurs virtuels par IP ont une
      adresse en commun, le serveur virtuel qui appara�t en premier
      dans la configuration est toujours choisi. Ce genre de chose
      peut arriver par inadvertance. Le serveur envoie une alerte
      dans le journal d'erreurs si ce cas se pr�sente.</li>

      <li>Le serveur virtuel <code>_default_</code> ne sert la requ�te
      que si aucun autre serveur virtuel travaillant sur l'adresse
      IP <em>et</em> le port demand�s n'est trouv�. La requ�te n'est
      trait�e que si le num�ro de port qui a re�u la requ�te est
      associ� au serveur virtuel <code>_default_</code> (qui par
      d�faut, correspond � <code>Listen</code>). Un port joker peut
      �tre sp�cifi� (<em>comme dans</em> <code>_default_:*</code>)
      pour r�cup�rer les requ�tes sur tous les ports ouverts. Ceci
      est �galement applicable aux serveurs virtuels
      <code>NameVirtualHost *</code>.</li>

      <li>Le serveur principal ne sert � servir les requ�tes que
      lorsque l'adresse IP et le port demand�s par le client ne
      correspondent � aucun serveur virtuel (y compris un serveur
      virtuel <code>_default_</code>). En d'autres termes, le serveur
      principal n'est utile que pour les combinaisons adresse/port
      non sp�cifi�es (sauf quand un serveur virtuel <code>_default_</code>
      correspond au port).</li>

      <li>Ni les serveurs virtuels <code>_default_</code>, ni le
      serveur principal ne sont utilis�s pour traiter une requ�te
      avec un champ d'en-t�te <code>Host:</code> manquant ou vide
      lorsque l'adresse (et le port) de connexion correspondent �
      des serveurs virtuels par nom, par exemple, dans une directive
      <code>NameVirtualHost</code>.</li>

      <li>Il ne faut jamais employer de noms DNS dans des directives
      <code>VirtualHost</code>, car cela oblige le serveur a s'appuyer
      sur le DNS au moment du d�marrage. De plus, vous vous exposez
      � des probl�mes de s�curit� si vous n'avez pas la ma�trise du
      DNS pour la totalit� de vos domaines. Voir la documentation
      <a href="../dns-caveats.html">disponible ici</a>, ainsi que
      les deux points pr�cis�s ci-apr�s.</li>

      <li>Un nom de serveur <code>ServerName</code> devrait toujours
      �tre indiqu� pour chaque serveur virtuel. Sans cela, une
      r�solution DNS est n�cessaire pour chaque serveur virtuel.</li>
      </ul>
      

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="tips" id="tips">Trucs et astuces</a></h2>

    <p>En plus des points �voqu�s sur la page des
    <a href="../dns-caveats.html#tips">probl�mes li�s au DNS</a>,
    voici quelques points int�ressants&nbsp;:</p>

    <ul>
      <li>Toujours positionner les d�finitions relatives au serveur
      principal avant toute d�finition <code>VirtualHost</code>.
      (Ceci am�liore grandement la lisibilit� de la configuration
      -- la mani�re dont la configuration est interpr�t�e apr�s la
      lecture des fichiers ne met pas en �vidence le fait que les
      d�finitions positionn�es avant et surtout apr�s les serveurs
      virtuels peuvent impacter le fonctionnement des serveurs virtuels.)</li>

      <li>Toujours regrouper les d�finitions <code>NameVirtualHost</code>
      et <code>VirtualHost</code> dans la configuration pour une
      meilleure lisibilit�.</li>

      <li>�viter les <code>ServerPaths</code> qui sont pr�fixes
      d'autres <code>ServerPaths</code>. Si cela ne peut �tre �vit�,
      veillez � ce que le serveur virtuel contenant le pr�fixe le plus
      long (donc le plus pr�cis) apparaisse dans le fichier de
      configuration avant le plus court. (<em>par exemple</em>,
      "ServerPath /abc" est � sp�cifier apr�s  "ServerPath /abc/def").</li>
    </ul>

</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/vhosts/details.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/vhosts/details.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Authoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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>
</body></html>