mirror of
https://github.com/apache/httpd.git
synced 2025-12-24 15:01:03 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@369240 13f79535-47bb-0310-9956-ffa450edef68
298 lines
18 KiB
Plaintext
298 lines
18 KiB
Plaintext
<?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>Support Apache des serveurs virtuels par nom - 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="<-" alt="<-" src="../images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<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.3</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Support Apache des serveurs virtuels par nom</h1>
|
||
<div class="toplang">
|
||
<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
|
||
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="../fr/vhosts/name-based.html" title="Fran<61>ais"> fr </a> |
|
||
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
|
||
</div>
|
||
|
||
<p>Ce document d<>crit quand et comment utiliser des serveurs
|
||
virtuels par nom.</p>
|
||
</div>
|
||
<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>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#using">Utilisation de serveurs virtuels par nom</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#compat">Compatibilit<69> avec les navigateurs anciens</a></li>
|
||
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></li><li><a href="details.html">D<>tails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des h<>bergements virtuels de masse</a></li><li><a href="examples.html">Exemples d'utilisations de VirtualHost</a></li><li><a href="examples.html#serverpath">Utilisation de la directive ServerPath</a></li></ul></div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="namevip" id="namevip">Serveurs virtuels par nom vs. par IP</a></h2>
|
||
|
||
<p>Les h<>bergements virtuels par IP utilisent l'adresse IP
|
||
de la connexion afin de d<>terminer quel serveur virtuel doit
|
||
r<>pondre. Par cons<6E>quent, vous devez disposer d'adresses IP
|
||
diff<66>rentes pour chaque nom de domaine complet (FQDN) que vous h<>bergez.
|
||
Avec un h<>bergement
|
||
virtuel par nom, le serveur s'appuit sur les informations
|
||
transmises par le client dans les en-t<>tes HTTP de ses requ<71>tes.
|
||
La technique pr<70>sent<6E>e ici vous permet de disposer de serveurs
|
||
virtuels diff<66>rents partag<61>s sur une m<>me adresse IP.</p>
|
||
|
||
<p>L'h<>bergement virtuel par nom est habituellement plus simple,
|
||
car il vous suffit de configurer votre serveur DNS pour que
|
||
chaque domaine pointe sur l'adresse IP dont vous disposez, et de
|
||
configurer votre serveur Apache HTTP afin qu'il reconnaisse
|
||
ces domaines. Il r<>duit aussi la p<>nurie en adresses IP. Par
|
||
cons<6E>quent, vous devriez utiliser l'h<>bergement virtuel par
|
||
nom <20> moins d'avoir une raison sp<73>cifique de pr<70>f<EFBFBD>rer
|
||
l'h<>bergement virtuel par IP. Certaines de ces raisons vous
|
||
sont expos<6F>es ci-apr<70>s :</p>
|
||
|
||
<ul>
|
||
<li>Certains anciens navigateurs ne sont pas compatibles
|
||
avec les serveurs virtuels par nom, car pour fonctionner,
|
||
un client doit transmettre un champ d'en-t<>te HTTP Host.
|
||
Cet en-t<>te est exig<69> pour HTTP/1.1, et peut <20>tre impl<70>ment<6E>
|
||
sur des navigateurs modernes HTTP/1.0 gr<67>ce <20> une extension.
|
||
Si vous devez maintenir des clients obsol<6F>tes tout en
|
||
utilisant l'h<>bergement virtuel par nom, il existe une
|
||
technique qui est trait<69>e <20> la fin de ce document.</li>
|
||
|
||
<li>L'h<>bergement virtuel par nom ne peut pas <20>tre utilis<69>
|
||
avec des serveurs s<>curis<69>s SSL <20> cause de la nature m<>me
|
||
du protocole SSL.</li>
|
||
|
||
<li>Certains syst<73>mes d'exploitation et <20>quipements r<>seaux
|
||
emploient des techniques de gestion de la bande passante
|
||
qui ne peuvent pas diff<66>rencier des domaines autrement que
|
||
par des adresses IP s<>par<61>es.</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="using" id="using">Utilisation de serveurs virtuels par nom</a></h2>
|
||
|
||
<table class="related"><tr><th>Modules Apparent<6E>s</th><th>Directives Apparent<6E>es</th></tr><tr><td><ul><li><code class="module"><a href="../mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code></li><li><code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code></li><li><code class="directive"><a href="../mod/core.html#servername">ServerName</a></code></li><li><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code></li><li><code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
|
||
|
||
<p>Pour utiliser des serveurs virtuels par nom, vous devez
|
||
d<>signer l'adresse IP (et si possible le port) sur le serveur
|
||
devant accepter les requ<71>tes pour des domaines. Cette
|
||
configuration utilise la directive
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Dans un
|
||
cas normal o<> n'importe quelle adresse IP peut <20>tre utilis<69>e,
|
||
vous pouvez ajouter <code>*</code> comme argument de la directive
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
|
||
pr<70>voyez d'utiliser de multiples ports (comme l'emploi de SSL),
|
||
vous devriez ajouter le port <20> cet argument tel que
|
||
<code>*:80</code>. Notez que la simple mention d'une adresse
|
||
IP dans une directive
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> ne suffit
|
||
pas <20> faire <20>couter le serveur sur cette IP. Consultez
|
||
<a href="../bind.html">la page sur les liaisons</a> pour plus
|
||
de d<>tails. Par ailleurs, chaque adresse IP sp<73>cifi<66>e ici doit
|
||
<20>tre associ<63>e avec une interface r<>seau sur le serveur.</p>
|
||
|
||
<p>L'<27>tape suivante est la cr<63>ation d'une section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
pour chacun des serveurs <20> cr<63>er. L'argument de la directive
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
doit <20>tre le m<>me que celui de la directive
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
|
||
(c'est-<2D>-dire l'adresse IP ou <code>*</code> pour toutes les
|
||
adresses). Dans chaque section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>,
|
||
vous devez d<>finir au minimum une directive
|
||
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour d<>signer
|
||
le serveur concern<72> et une directive
|
||
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour pr<70>ciser
|
||
l'emplacement sur le syst<73>me de fichiers du contenu de ce serveur.</p>
|
||
|
||
<div class="note"><h3>Le serveur principal dispara<72>t</h3>
|
||
<p>Si vous ajoutez des serveurs virtuels <20> un serveur Web
|
||
existant, vous devez <20>galement cr<63>er une section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
red<65>finissant ce serveur existant. Les directives
|
||
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
|
||
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> incluses
|
||
dans ce serveur virtuel doivent <20>tre les m<>mes que pour
|
||
les directives globales
|
||
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
|
||
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Positionnez
|
||
ce serveur virtuel en premier dans le fichier de configuration
|
||
pour en faire le serveur par d<>faut.</p>
|
||
</div>
|
||
|
||
<p>Par exemple, supposez que vous h<>bergez le domaine
|
||
<code>www.domain.tld</code> et que vous souhaitez ajouter le
|
||
serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur
|
||
la m<>me adresse IP. Il vous suffit d'ajouter la configuration
|
||
suivante <20> <code>httpd.conf</code> :</p>
|
||
|
||
<div class="example"><p><code>
|
||
NameVirtualHost *:80<br />
|
||
<br />
|
||
<VirtualHost *:80><br />
|
||
<span class="indent">
|
||
ServerName www.domain.tld<br />
|
||
ServerAlias domain.tld *.domain.tld<br />
|
||
DocumentRoot /www/domain<br />
|
||
</span>
|
||
</VirtualHost><br />
|
||
<br />
|
||
<VirtualHost *:80><br />
|
||
<span class="indent">ServerName www.otherdomain.tld<br />
|
||
DocumentRoot /www/otherdomain<br />
|
||
</span>
|
||
</VirtualHost><br />
|
||
</code></p></div>
|
||
|
||
<p>Autrement, vous pouvez sp<73>cifiez une adresse IP explicite
|
||
<20> la place de <code>*</code> dans les deux directives
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> et
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
|
||
Par exemple, cette m<>thode est utile si vous souhaitez faire
|
||
tourner quelques serveurs virtuels par nom sur une m<>me adresse
|
||
IP, et d'autres, soit par IP, soit bas<61>s sur un autre jeu de
|
||
serveurs virtuels par nom sur une autre adresse IP.</p>
|
||
|
||
<p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
|
||
suffit de placer la directive
|
||
<code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> dans une section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
|
||
Par exemple, dans la premi<6D>re section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
ci-dessus, la directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code>
|
||
indique aux utilisateurs les autres noms permis pour acc<63>der au
|
||
m<>me site Web :</p>
|
||
|
||
<div class="example"><p><code>
|
||
ServerAlias domain.tld *.domain.tld
|
||
</code></p></div>
|
||
|
||
<p>ainsi, toutes les requ<71>tes portant sur un domaine
|
||
<code>domain.tld</code> seront servies par le serveur virtuel
|
||
<code>www.domain.tld</code>. Les caract<63>res joker <code>*</code>
|
||
et <code>?</code> peuvent <20>tre utilis<69>s pour les correspondances.
|
||
Bien entendu, vous ne pouvez pas inventer des noms et les placer
|
||
dans une directive <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>
|
||
ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
|
||
doit <20>tre correctement configur<75> pour lier ces noms <20> une
|
||
adresse IP associ<63>e avec votre serveur.</p>
|
||
|
||
<p>Finalement, vous pouvez affiner la configuration des serveurs
|
||
virtuels en pla<6C>ant d'autres directives <20> l'int<6E>rieur des sections
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>.
|
||
La plupart des directives peut <20>tre plac<61>e dans ces sections en
|
||
y changeant seulement la configuration du serveur virtuel associ<63>.
|
||
Pour d<>terminer si une directive particuli<6C>re est permise,
|
||
consultez <a href="../mod/directive-dict.html#Context">la page de
|
||
contexte</a>. Le jeu de directives configur<75>es dans le contexte
|
||
du <em>serveur principal</em> (en dehors de toutes sections
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>)
|
||
sera utilis<69> seulement s'il n'y a pas de configuration contraire
|
||
par un serveur virtuel.</p>
|
||
|
||
<p>Maintenant, lorsqu'une requ<71>te arrive, le serveur va d'abord
|
||
tester si elle utilise une adresse IP qui correspond <20>
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si c'est
|
||
le cas, il regardera chaque section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
avec l'adresse correspondante et essaiera d'en trouver une o<>
|
||
le nom de domaine requis correspond <20>
|
||
<code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> ou
|
||
<code>ServerAlias</code>. S'il en trouve une, il utilisera
|
||
sa configuration pour le serveur. Si aucun serveur virtuel ne
|
||
correspond, alors <em>le premier serveur virtuel list<73></em>
|
||
dont l'adresse IP correspond sera employ<6F>.</p>
|
||
|
||
<p>En cons<6E>quence, le premier serveur virtuel list<73> est le
|
||
serveur virtuel <em>default</em>. La directive
|
||
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> du
|
||
<em>serveur principal</em> <strong>ne</strong> sera
|
||
<strong>jamais</strong> employ<6F>e lorsqu'une adresse IP
|
||
correspond dans une directive
|
||
<code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
|
||
ne voulez pas avoir de configuration sp<73>ciale pour les requ<71>tes
|
||
qui ne sont pas attach<63>es <20> un serveur virtuel en particulier,
|
||
mettez cette configuration dans une section
|
||
<code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
que vous placerez en premier dans le fichier de configuration.</p>
|
||
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="compat" id="compat">Compatibilit<69> avec les navigateurs anciens</a></h2>
|
||
|
||
<p>Comme mentionn<6E> plus t<>t, certains clients ne transmettent
|
||
pas les donn<6E>es n<>cessaires pour le bon fonctionnement des
|
||
serveurs virtuels. Ces clients recevront toujours les pages
|
||
du premier serveur virtuel list<73> pour cette adresse IP (le
|
||
serveur virtuel par nom <cite>primaire</cite>).</p>
|
||
|
||
<div class="note"><h3>De combien plus anciens ?</h3>
|
||
<p>Veuillez noter que quand nous disons plus anciens, nous
|
||
disons vraiment plus anciens. Vous seriez malchanceux de rencontrer
|
||
de tels navigateurs encore utilis<69>s de nos jours. Toutes les
|
||
versions actuelles des navigateurs transmettent leur en-t<>te
|
||
<code>Host</code> comme exig<69> par les serveurs virtuels par nom.</p>
|
||
</div>
|
||
|
||
<p>Il existe une solution avec la directive
|
||
<code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, bien que
|
||
l<>g<EFBFBD>rement complexe :</p>
|
||
|
||
<p>Exemple de configuration :</p>
|
||
|
||
<div class="example"><p><code>
|
||
NameVirtualHost 111.22.33.44<br />
|
||
<br />
|
||
<VirtualHost 111.22.33.44><br />
|
||
<span class="indent">
|
||
ServerName www.domain.tld<br />
|
||
ServerPath /domain<br />
|
||
DocumentRoot /web/domain<br />
|
||
</span>
|
||
</VirtualHost><br />
|
||
</code></p></div>
|
||
|
||
<p>Qu'est-ce que cela signifie ? Il signifie qu'une requ<71>te
|
||
pour tout URI qui commence par "<code>/domain</code>" sera
|
||
servie par le serveur virtuel <code>www.domain.tld</code>.
|
||
Ainsi, les pages sont accessibles <20>
|
||
<code>http://www.domain.tld/domain/</code> pour tous les
|
||
clients, bien que ceux qui transmettent un en-t<>te
|
||
<code>Host:</code> peuvent <20>galement y acc<63>der <20>
|
||
<code>http://www.domain.tld/</code>.</p>
|
||
|
||
<p>Pour rendre cette technique fonctionnelle, mettez un lien
|
||
dans votre serveur virtuel primaire vers
|
||
<code>http://www.domain.tld/domain/</code>. Ensuite, dans les
|
||
pages de ce serveur virtuel, assurez vous ne n'utiliser que
|
||
des liens relatifs (<em>par exemple</em>, "<code>file.html</code>"
|
||
ou "<code>../icons/image.gif</code>") ou des liens contenant
|
||
le pr<70>fixe <code>/domain/</code> (<em>par exemple</em>,
|
||
"<code>http://www.domain.tld/domain/misc/file.html</code>"
|
||
ou "<code>/domain/misc/file.html</code>").</p>
|
||
|
||
<p>Cela requiert un peu de discipline, mais si vous suivez
|
||
cette ligne de conduite, vous serez assur<75> que vos pages
|
||
s'afficheront dans tous les navigateurs, nouveaux et anciens.</p>
|
||
|
||
</div></div>
|
||
<div class="bottomlang">
|
||
<p><span>Langues Disponibles: </span><a href="../de/vhosts/name-based.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
|
||
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="../fr/vhosts/name-based.html" title="Fran<61>ais"> fr </a> |
|
||
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
|
||
</div><div id="footer">
|
||
<p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Authoris<69> 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> |