name-based.html.fr 20 KB
<?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 Version 2.2</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<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="http://wiki.apache.org/httpd/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.2</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.2</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="Franais">&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> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</div>

    <p>Ce document dcrit 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 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">Dtails sur le fonctionnement des serveurs virtuels</a></li><li><a href="mass.html">Configuration dynamique des hbergements 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><ul class="seealso"><li><a href="#comments_section">Commentaires</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 hbergements virtuels par IP utilisent l'adresse IP
    de la connexion afin de dterminer quel serveur virtuel doit
    rpondre. Par consquent, vous devez disposer d'adresses IP
    diffrentes pour chaque serveur.
    Avec un hbergement
    virtuel par nom, le serveur s'appuit sur les informations
    transmises par le client dans les en-ttes HTTP de ses requtes.
    La technique prsente ici vous permet de disposer de serveurs
    virtuels diffrents partags sur une mme adresse IP.</p>

    <p>L'hbergement 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 rduit aussi la pnurie en adresses IP. Par
    consquent, vous devriez utiliser l'hbergement virtuel par
    nom, sauf dans le cas o vous utiliseriez des quipements qui
    ncessitent un hbergement bas sur IP. Les raisons historiques de
    l'hbergement bas sur IP dans un but de support de certains clients ne
    s'appliquent plus  un serveur web d'usage gnral, sauf si vous
    utilisez une version de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> sans support SNI
    (situation  standard depuis la version 2.2.12 d'Apache).</p>

</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 Apparents</th><th>Directives Apparentes</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
    dsigner l'adresse IP (et si possible le port) sur le serveur
    devant accepter les requtes 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 tre utilise,
    vous pouvez ajouter <code>*</code> comme argument de la directive
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
    prvoyez d'utiliser de multiples ports (comme l'emploi de SSL),
    vous devriez ajouter le port  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  faire couter le serveur sur cette IP. Consultez
    <a href="../bind.html">Dfinition des adresses et ports qu'utilise
    Apache</a> pour plus
    de dtails. Par ailleurs, chaque adresse IP spcifie ici doit
    tre associe avec une interface rseau sur le serveur.</p>

    <p>L'tape suivante est la cration d'une section
    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    pour chacun des serveurs  crer. L'argument de la directive
    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    doit tre le mme que celui de la directive
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>
    (dans le cas prsent "*:80"). Dans chaque section
    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>,
    vous devez dfinir au minimum une directive
    <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> pour dsigner
    le serveur concern et une directive
    <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour prciser
    l'emplacement sur le systme de fichiers du contenu de ce serveur.</p>

    <div class="note"><h3>Le serveur principal disparat</h3>
        <p>Si vous ajoutez des serveurs virtuels  un serveur Web
        existant, vous devez galement crer une section
        <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
        redfinissant 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 tre les mmes 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 dfaut.</p>
    </div>

    <p>Par exemple, supposez que vous hbergez le domaine
    <code>www.domain.tld</code> et que vous souhaitez ajouter le
    serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur
    la mme adresse IP. Il vous suffit d'ajouter la configuration
    suivante  <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 spcifiez une adresse IP explicite
     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 mthode est utile si vous souhaitez faire
    tourner quelques serveurs virtuels par nom sur une mme adresse
    IP, et d'autres, soit par IP, soit bass 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 premire 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 accder au
    mme site Web&nbsp;:</p>

    <div class="example"><p><code>
        ServerAlias domain.tld *.domain.tld
    </code></p></div>

    <p>ainsi, toutes les requtes portant sur un domaine
    <code>domain.tld</code> seront servies par le serveur virtuel
    <code>www.domain.tld</code>. Les caractres joker <code>*</code>
    et <code>?</code> peuvent tre utiliss 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 tre correctement configur pour lier ces noms  une
    adresse IP associe avec votre serveur.</p>

    <p>La liste complte des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traits comme une
    directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sans
    caractres gnriques.</p>

    <p>Finalement, vous pouvez affiner la configuration des serveurs
    virtuels en plaant d'autres directives  l'intrieur des sections
    <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.
    La plupart des directives peut tre place dans ces sections en
    y changeant seulement la configuration du serveur virtuel associ.
    Pour dterminer si une directive particulire est permise,
    consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la
    directive. Le jeu de directives configures 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 seulement s'il n'y a pas de configuration contraire
    par un serveur virtuel.</p>

    <p>Maintenant, lorsqu'une requte arrive, le serveur va d'abord
    tester si elle utilise une adresse IP qui correspond 
    <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 
    <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</em>
    dont l'adresse IP correspond sera employ.</p>

    <p>En consquence, le premier serveur virtuel list est le
    serveur virtuel <em>par dfaut</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> employe lorsqu'une adresse IP
    correspond  la directive
    <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code>. Si vous
    souhaitez avoir une configuration spciale pour les requtes
    qui ne correspondent pas  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 avec les navigateurs anciens</a></h2>

    <p>Comme mentionn plus tt, certains clients ne transmettent
    pas les donnes ncessaires pour le bon fonctionnement des
    serveurs virtuels par nom. Ces clients recevront toujours les pages
    du premier serveur virtuel list 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 avez peu de chances de rencontrer
    de tels navigateurs encore utiliss de nos jours. Toutes les
    versions actuelles des navigateurs transmettent leur en-tte
    <code>Host</code> comme exig 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
    lgrement 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 requte
    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 
    <code>http://www.domain.tld/domain/</code> pour tous les
    clients, bien que ceux qui transmettent un en-tte
    <code>Host:</code> peuvent galement y accder 
    <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 de 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 prfixe <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 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="Franais">&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> |
<a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Trke">&nbsp;tr&nbsp;</a></p>
</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&amp;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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.2/vhosts/name-based.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>