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
8 <title>Support Apache des serveurs virtuels par nom - Serveur Apache HTTP Version 2.5</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" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
18 <p class="apache">Serveur Apache HTTP Version 2.5</p>
19 <img alt="" src="../images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
22 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Support Apache des serveurs virtuels par nom</h1>
24 <p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
25 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
26 <a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
27 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
28 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
29 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
32 <p>Ce document décrit quand et comment utiliser des serveurs
35 <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>
36 <li><img alt="" src="../images/down.gif" /> <a href="#alg">Comment le serveur sélectionne-t-il le serveur
37 virtuel basé sur le nom approprié</a></li>
38 <li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de serveurs virtuels par nom</a></li>
39 </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></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
40 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
42 <h2><a name="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a></h2>
44 <p>Les <a href="ip-based.html">serveurs virtuels</a> par IP utilisent l'adresse IP
45 de la connexion afin de déterminer quel serveur virtuel doit
46 répondre. Par conséquent, vous devez disposer d'adresses IP
47 différentes pour chaque serveur.</p>
49 <p>Avec un hébergement
50 virtuel par nom, le serveur s'appuie sur les informations
51 transmises par le client dans les en-têtes HTTP de ses requêtes.
52 La technique présentée ici vous permet de disposer de serveurs
53 virtuels différents partagés sur une même adresse IP.</p>
55 <p>L'hébergement virtuel par nom est habituellement plus simple,
56 car il vous suffit de configurer votre serveur DNS pour que
57 chaque domaine pointe sur l'adresse IP dont vous disposez, et de
58 configurer votre serveur Apache HTTP afin qu'il reconnaisse
59 ces domaines. Il réduit aussi la pénurie en adresses IP. Par
60 conséquent, vous devriez utiliser l'hébergement virtuel par
61 nom, sauf dans le cas où vous utiliseriez des équipements qui
62 nécessitent un hébergement basé sur IP. Les raisons historiques de
63 l'hébergement basé sur IP dans un but de support de certains clients ne
64 s'appliquent plus à un serveur web d'usage général.</p>
66 <p>La sélection du serveur virtuel en fonction du nom s'opère en
67 dehors de l'algorithme de sélection du serveur virtuel en fonction
68 de l'adresse IP, ce qui signifie que les recherches du point de vue
69 du nom du serveur ne s'effectuent que parmi le jeu de serveurs
70 virtuels pour lesquels la correspondance avec la paire adresse
71 IP/port est la plus exacte.</p>
73 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
75 <h2><a name="alg" id="alg">Comment le serveur sélectionne-t-il le serveur
76 virtuel basé sur le nom approprié</a></h2>
78 <p>Il est important de savoir que la première étape de la résolution
79 de serveur virtuel basée sur le nom est une résolution basée sur IP.
80 La résolution de serveur virtuel basée sur le nom ne fait que
81 choisir le serveur virtuel basé sur le nom le plus approprié, en se
82 limitant aux candidats qui conviennent le mieux du point de vue IP.
83 La résolution basée sur IP est sans objet si l'on
84 utilise un caractère générique (*) pour l'adresse IP dans
85 toutes les directives VirtualHost.</p>
87 <p>A l'arrivée d'une requête, le serveur va rechercher l'argument de
88 section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> présentant la meilleure
89 (la plus exacte) correspondance avec la paire adresse IP/port
90 utilisée dans la requête. Si plusieurs serveurs virtuels possèdent
91 cette même paire adresse IP/port, Apache va ensuite comparer les
92 valeurs des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive">module="core">ServerAlias</code> avec le nom de serveur
93 présent dans la requête.</p>
95 <p>Si vous ne définissez pas de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour un serveur virtuel à base
96 de nom, le serveur utilisera par défaut le nom de domaine
97 entièrement qualifié (FQDN) déduit du nom d'hôte système. Cette
98 configuration sans nom de serveur explicite peut conduire à des
99 erreurs de choix du serveur virtuel à utiliser et est déconseillée.</p>
101 <h3><a name="defaultvhost" id="defaultvhost">Le serveur virtuel à base de nom
102 par défaut pour une paire adresse IP/port</a></h3>
103 <p>Si aucune directive ServerName ou ServerAlias ne correspond dans
104 la liste de serveurs virtuels présentant la meilleure correspondance
105 du point de vue adresse IP/port, c'est <strong>le premier serveur
106 virtuel de cette liste</strong> qui sera utilisé.</p>
109 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
110 <div class="section">
111 <h2><a name="using" id="using">Utilisation de serveurs virtuels par nom</a></h2>
113 <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#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#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
116 <p>La première étape consiste à créer une section
117 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
118 pour chacun des serveurs à définir. Dans chaque section
119 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>,
120 vous devez définir au minimum une directive
121 <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour désigner
122 le serveur concerné et une directive
123 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser
124 l'emplacement sur le système de fichiers du contenu de ce serveur.</p>
126 <div class="note"><h3>Le serveur principal disparaît</h3>
127 <p>Toute requête qui ne correspond à aucune section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> existante
128 est traitée avec la configuration du serveur principal, sans
129 tenir compte du nom d'hôte ou de la directive ServerName.</p>
131 <p>Lorsque vous ajoutez un serveur virtuel basé sur le nom à un
132 serveur existant, et si les caractéristiques de ce serveur
133 virtuel correspondent à des combinaisons IP/port préexistantes,
134 les requêtes seront alors traitées par un serveur virtuel
135 explicite. Dans ce cas, il est en général judicieux de créer un
136 <a href="#defaultvhost">serveur virtuel par défaut</a>
137 comportant une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> correspondant au nom du
138 serveur principal. De nouveaux domaines sur les mêmes interface
139 et port, mais nécessitant des configurations distinctes,
140 pourront alors être ajoutés en tant que serveurs virtuels
141 spécifiques (et non par défaut).</p>
144 <div class="note"><h3>Héritage du nom de serveur</h3>
145 <p>Il est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> au niveau de chaque serveur
146 virtuel à base de nom. Si un serveur virtuel ne définit pas
147 de directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>, le
148 nom de ce serveur virtuel sera hérité du serveur principal. Si
149 aucun nom de serveur n'a été explicitement défini au niveau du
150 serveur principal, le serveur tentera de déterminer son nom via
151 une résolution de nom DNS inverse sur la première adresse
152 d'écoute. Dans tous les cas, ce nom de serveur hérité influencera
153 la sélection du serveur virtuel à base de nom, c'est pourquoi il
154 est toujours préférable de définir une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour chaque serveur virtuel
158 <p>Par exemple, supposez que vous hébergez le domaine
159 <code>www.example.com</code> et que vous souhaitez ajouter le
160 serveur virtuel <code>other.example.com</code> qui pointe sur
161 la même adresse IP. Il vous suffit d'ajouter la configuration
162 suivante à <code>httpd.conf</code> :</p>
164 <pre class="prettyprint lang-config"><VirtualHost *:80>
165 # Le premier serveur virtuel de la liste est aussi le
166 # serveur par défaut pour *:80
167 ServerName www.example.com
168 ServerAlias example.com
169 DocumentRoot /www/domain
172 <VirtualHost *:80>
173 ServerName other.example.com
174 DocumentRoot /www/otherdomain
175 </VirtualHost></pre>
178 <p>Autrement, vous pouvez spécifiez une adresse IP explicite
179 à la place de <code>*</code> dans la directive
180 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
181 Par exemple, cette méthode est utile si vous souhaitez faire
182 tourner quelques serveurs virtuels par nom sur une même adresse
183 IP, et d'autres, soit par IP, soit basés sur un autre jeu de
184 serveurs virtuels par nom sur une autre adresse IP.</p>
186 <p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
187 suffit de placer la directive
188 <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section
189 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
190 Par exemple, dans la première section
191 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
192 ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
193 indique aux utilisateurs les autres noms permis pour accéder au
194 même site Web :</p>
196 <pre class="prettyprint lang-config">ServerAlias example.com *.example.com</pre>
199 <p>ainsi, toutes les requêtes portant sur un domaine
200 <code>example.com</code> seront servies par le serveur virtuel
201 <code>www.example.com</code>. Les caractères joker <code>*</code>
202 et <code>?</code> peuvent être utilisés pour les correspondances.
203 Bien entendu, vous ne pouvez pas inventer des noms et les placer
204 dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
205 ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
206 doit être correctement configuré pour lier ces noms à une
207 adresse IP associée avec votre serveur.</p>
209 <p>La recherche du serveur virtuel à base de nom qui correspond au
210 plus près à la requête s'effectue parmi les <code class="directive"><a href="../mod/core.html#virtualhost"><virtualhost></a></code> selon leur
211 ordre d'apparition dans le fichier de configuration. Le premier
212 serveur virtuel dont le <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou le <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> correspond est utilisé, sans
213 priorité particulière en cas de présence de caractères génériques
214 (que ce soit pour le ServerName ou le ServerAlias).</p>
216 <p>La liste complète des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traités comme une
217 directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sans
218 caractères génériques.</p>
220 <p>Finalement, vous pouvez affiner la configuration des serveurs
221 virtuels en plaçant d'autres directives à l'intérieur des sections
222 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
223 La plupart des directives peut être placée dans ces sections en
224 y changeant seulement la configuration du serveur virtuel associé.
225 Pour déterminer si une directive particulière est permise,
226 consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
227 directive. Le jeu de directives configurées dans le contexte
228 du <em>serveur principal</em> (en dehors de toutes sections
229 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>)
230 sera utilisé seulement s'il n'y a pas de configuration contraire
231 par un serveur virtuel.</p>
234 <div class="bottomlang">
235 <p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
236 <a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
237 <a href="../fr/vhosts/name-based.html" title="Français"> fr </a> |
238 <a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
239 <a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
240 <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
241 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
242 <script type="text/javascript"><!--//--><![CDATA[//><!--
243 var comments_shortname = 'httpd';
244 var comments_identifier = 'http://httpd.apache.org/docs/trunk/vhosts/name-based.html';
246 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
247 d.write('<div id="comments_thread"><\/div>');
248 var s = d.createElement('script');
249 s.type = 'text/javascript';
251 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
252 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
255 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
257 })(window, document);
258 //--><!]]></script></div><div id="footer">
259 <p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
260 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
261 if (typeof(prettyPrint) !== 'undefined') {