Current Path : /usr/local/apache22/share/doc/apache2/vhosts/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/apache22/share/doc/apache2/vhosts/name-based.html.fr |
<?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> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> <!-- 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" /><link href="http://httpd.apache.org/docs/current/vhosts/name-based.html" rel="canonical" /></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="<-" 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.2</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div class="retired"><h4>A savoir</h4> <p>Ce document concerne une version ancienne (<strong>2.2</strong>) du serveur HTTP Apache. La version actuelle est documentée <a href="http://httpd.apache.org/docs/current">ici</a>. Si vous n'avez pas encore effectué la mise è jour, veuillez suivre <a href="http://httpd.apache.org/docs/current/upgrading.html">ce lien</a> pour plus d'informations.</p> <p>Pour consulter la version actuelle de ce document, vous pouvez suivre <a href="http://httpd.apache.org/docs/current/vhosts/name-based.html">ce lien</a>.</p></div><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ç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> | <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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é 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><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 hébergements virtuels par IP utilisent l'adresse IP de la connexion afin de déterminer quel serveur virtuel doit répondre. Par conséquent, vous devez disposer d'adresses IP différentes pour chaque serveur. 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êtes. La technique présentée ici vous permet de disposer de serveurs virtuels différents partagé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équent, vous devriez utiliser l'hébergement virtuel par nom, sauf dans le cas où vous utiliseriez des équipements qui nécessitent un hébergement basé sur IP. Les raisons historiques de l'hébergement basé sur IP dans un but de support de certains clients ne s'appliquent plus à un serveur web d'usage général, 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 Apparentés</th><th>Directives Apparenté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ê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 être utilisé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évoyez 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">Définition des adresses et ports qu'utilise Apache</a> pour plus de détails. Par ailleurs, chaque adresse IP spécifiée ici doit être associée avec une interface réseau sur le serveur.</p> <p>L'étape suivante est la création d'une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> pour chacun des serveurs à créer. L'argument de la directive <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> doit être le même que celui de la directive <code class="directive"><a href="../mod/core.html#namevirtualhost">NameVirtualHost</a></code> (dans le cas présent "*:80"). 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é et une directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> pour préciser l'emplacement sur le système de fichiers du contenu de ce serveur.</p> <div class="note"><h3>Le serveur principal disparaît</h3> <p>Si vous ajoutez des serveurs virtuels à un serveur Web existant, vous devez également créer une section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code> redé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 ê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 à <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écifiez 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"><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é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è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é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êtes portant sur un domaine <code>domain.tld</code> seront servies par le serveur virtuel <code>www.domain.tld</code>. Les caractères joker <code>*</code> et <code>?</code> peuvent être utilisé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 être correctement configuré pour lier ces noms à une adresse IP associée avec votre serveur.</p> <p>La liste complète des noms dans la section <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> sont traités comme une directive <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sans caractères génériques.</p> <p>Finalement, vous pouvez affiner la configuration des serveurs virtuels en plaçant d'autres directives à l'intérieur des sections <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>. La plupart des directives peut être placée dans ces sections en y changeant seulement la configuration du serveur virtuel associé. Pour déterminer si une directive particulière est permise, consultez le <a href="../mod/directive-dict.html#Context">contexte</a> de la directive. Le jeu de directives configuré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é seulement s'il n'y a pas de configuration contraire par un serveur virtuel.</p> <p>Maintenant, lorsqu'une requête 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"><VirtualHost></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 conséquence, le premier serveur virtuel listé est le serveur virtuel <em>par défaut</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ée 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 spéciale pour les requêtes qui ne correspondent pas à 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é avec les navigateurs anciens</a></h2> <p>Comme mentionné plus tôt, certains clients ne transmettent pas les données nécessaires 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 ?</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 utilisés de nos jours. Toutes les versions actuelles des navigateurs transmettent leur en-tête <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 légè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ê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 à <code>http://www.domain.tld/domain/</code> pour tous les clients, bien que ceux qui transmettent un en-tête <code>Host:</code> peuvent également y accéder à <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 pré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é 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ç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> | <a href="../tr/vhosts/name-based.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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&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 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> <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>