1
0
mirror of https://github.com/apache/httpd.git synced 2025-12-24 15:01:03 +03:00
Files
apache/docs/manual/vhosts/name-based.html.fr
2006-01-15 17:57:12 +00:00

298 lines
18 KiB
Plaintext
Raw Blame History

<?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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>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">&nbsp;de&nbsp;</a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/vhosts/name-based.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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&nbsp;:</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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</a></code>
pour chacun des serveurs <20> cr<63>er. L'argument de la directive
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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>&nbsp;:</p>
<div class="example"><p><code>
NameVirtualHost *:80<br />
<br />
&lt;VirtualHost *:80&gt;<br />
<span class="indent">
ServerName www.domain.tld<br />
ServerAlias domain.tld *.domain.tld<br />
DocumentRoot /www/domain<br />
</span>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost *:80&gt;<br />
<span class="indent">ServerName www.otherdomain.tld<br />
DocumentRoot /www/otherdomain<br />
</span>
&lt;/VirtualHost&gt;<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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</a></code>.
Par exemple, dans la premi<6D>re section
<code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</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&nbsp;:</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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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">&lt;VirtualHost&gt;</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&nbsp;?</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&nbsp;:</p>
<p>Exemple de configuration&nbsp;:</p>
<div class="example"><p><code>
NameVirtualHost 111.22.33.44<br />
<br />
&lt;VirtualHost 111.22.33.44&gt;<br />
<span class="indent">
ServerName www.domain.tld<br />
ServerPath /domain<br />
DocumentRoot /web/domain<br />
</span>
&lt;/VirtualHost&gt;<br />
</code></p></div>
<p>Qu'est-ce que cela signifie&nbsp;? 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">&nbsp;de&nbsp;</a> |
<a href="../en/vhosts/name-based.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/vhosts/name-based.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/vhosts/name-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/vhosts/name-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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>