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