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