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 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Problèmes liés au DNS avec le serveur HTTP Apache - Serveur Apache HTTP</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <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>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <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></div><div id="page-content"><div id="preamble"><h1>Problèmes liés au DNS avec le serveur HTTP Apache</h1>
21 <p><span>Langues Disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="./fr/dns-caveats.html" title="Français"> fr </a> |
23 <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <p>Cette page pourrait se résumer ainsi : configurez le
29 serveur HTTP Apache de façon
30 à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les
31 fichiers de configuration. Si httpd doit effectuer des résolutions
32 DNS pour interpréter les fichiers de configuration, votre serveur
33 pourra présenter des problèmes de fiabilité (en d'autres termes,
34 il est possible qu'il refuse de démarrer), ou d'attaques par déni ou
35 usurpation de service (y compris l'attribution de requêtes à un
36 serveur virtuel autre que le serveur virtuel voulu).</p>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#example">Un exemple simple</a></li>
39 <li><img alt="" src="./images/down.gif" /> <a href="#denial">Déni de service</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#main">L'adresse du "serveur principal"</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#tips">Conseils pour éviter ce genre de problème</a></li>
43 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
45 <h2><a name="example" id="example">Un exemple simple</a></h2>
48 <div class="example"><p><code>
49 # Cet exemple de configuration est invalide, ne l'utilisez pas comme base
51 <VirtualHost www.example.dom> <br />
52 ServerAdmin webgirl@example.dom <br />
53 DocumentRoot /www/example <br />
57 <p>Pour fonctionner correctement, le serveur a absolument besoin de deux
58 informations à propos de chaque serveur virtuel : le nom du serveur
59 défini par la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>, et au moins une adresse IP à
60 laquelle le serveur va se rattacher et répondre. L'exemple ci-dessus
61 ne comporte pas d'adresse IP, si bien que httpd devra utiliser le
62 DNS pour trouver l'adresse IP de <code>www.example.dom</code>. Si pour
63 une raison quelconque, le DNS n'est pas disponible au moment où
64 votre serveur interprète son fichier de configuration, ce serveur
65 virtuel <strong>ne sera pas pris en compte dans la
66 configuration</strong>. Il sera incapable de
67 répondre à toute requête pour ce serveur virtuel.</p>
69 <p>Supposons que l'adresse de <code>www.example.dom</code> soit
70 192.0.2.1, et examinons cet extrait de configuration :</p>
72 <div class="example"><p><code>
73 # Cet exemple de configuration est invalide, ne l'utilisez pas comme base
75 <VirtualHost 192.0.2.1> <br />
76 ServerAdmin webgirl@example.dom <br />
77 DocumentRoot /www/example <br />
81 <p>Cette fois, httpd doit effectuer une recherche DNS inverse pour
82 trouver le nom <code>ServerName</code> de ce serveur virtuel. Si
83 cette recherche inverse échoue, le serveur virtuel sera
84 partiellement désactivé. Si le serveur
85 virtuel est à base de nom, il sera en fait totalement désactivé,
86 mais s'il est à base d'adresse IP, il fonctionnera probablement.
87 Cependant, httpd échouera s'il doit générer une URL complète pour
88 le serveur qui inclut ce nom de serveur (comme dans le cas d'une
91 <p>Voici un extrait de configuration qui permet d'éviter ces deux
92 types de problèmes :</p>
94 <div class="example"><p><code>
95 <VirtualHost 192.0.2.1> <br />
96 ServerName www.example.dom <br />
97 ServerAdmin webgirl@example.dom <br />
98 DocumentRoot /www/example <br />
101 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
102 <div class="section">
103 <h2><a name="denial" id="denial">Déni de service</a></h2>
106 <p>Considérons cet extrait de configuration :</p>
108 <div class="example"><p><code>
109 <VirtualHost www.example1.dom><br />
110 <span class="indent">
111 ServerAdmin webgirl@example1.dom<br />
112 DocumentRoot /www/example1<br />
114 </VirtualHost><br />
116 <VirtualHost www.example2.dom><br />
117 <span class="indent">
118 ServerAdmin webguy@example2.dom<br />
119 DocumentRoot /www/example2<br />
124 <p>Supposons que vous ayez assigné 192.0.2.1 à
125 <code>www.example1.dom</code> et 192.0.2.2 à <code>www.example2.dom</code>. En
126 outre, supposons que <code>example1.dom</code> gère son propre DNS. Avec
127 cette configuration, <code>example1.dom</code> sera en mesure de
128 détourner tout trafic destiné à <code>example2.dom</code>. Pour y
129 parvenir, tout ce qu'ils ont à faire consiste à
131 <code>www.example1.dom</code>. Comme ils gèrent leur propre DNS, vous ne
132 pouvez pas les empêcher de faire pointer l'enregistrement
133 <code>www.example1.dom</code> vers l'adresse qu'ils veulent.</p>
135 <p>Les requêtes à destination de 192.0.2.2 (y compris toutes celles
136 où l'utilisateur à tapé une URL de la forme
137 <code>http://www.example2.dom/quelquepart</code>), seront toutes servies
138 par le serveur virtuel <code>example1.dom</code>. Une meilleur
139 compréhension de la raison pour laquelle ceci peut se produire
140 nécessite une discussion plus approfondie à propos de la manière
141 dont httpd associe les requêtes entrantes aux différents serveurs
142 virtuels qui vont les servir. Un document de base décrivant ceci <a href="vhosts/details.html">est disponible</a>.</p>
143 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
144 <div class="section">
145 <h2><a name="main" id="main">L'adresse du "serveur principal"</a></h2>
148 <p><a href="vhosts/name-based.html">Le support des
149 serveurs virtuels à base de nom</a> oblige httpd à
150 connaître la/les adresse(s) IP de l'hôte sur
151 lequel <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exécute. Pour obtenir cette
152 adresse, soit il utilise la directive <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> globale (si elle est présente),
153 soit il fait appel à la fonction C <code>gethostname</code> (qui
154 doit renvoyer le même nom que la commande shell "hostname"). Il
155 effectue ensuite une recherche DNS sur cette adresse. Pour le
156 moment, il n'existe aucun moyen d'éviter cette recherche DNS.</p>
158 <p>Si vous craignez que cette recherche DNS échoue parce que votre
159 serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le
160 fichier <code>/etc/hosts</code> (où il est probablement déjà
161 enregistré afin que la machine démarre correctement). Assurez-vous
162 ensuite que la machine est configurée pour utiliser
163 <code>/etc/hosts</code> dans le cas où la recherche DNS échoue.
164 Suivant le système d'exploitation que vous utilisez, vous y
165 parviendrez en éditant <code>/etc/resolv.conf</code>, ou
166 <code>/etc/nsswitch.conf</code>.</p>
168 <p>Si votre serveur n'a aucune autre raison d'effectuer des
169 recherches DNS, vous pouvez définir la variable d'environnement
170 <code>HOSTRESORDER</code> à "local", et vous serez alors en mesure
171 d'exécuter httpd. Tout dépend du système d'exploitation et des
172 bibliothèques de résolution de noms que vous utilisez. Elle affecte
173 aussi les programmes CGI, à moins que vous n'utilisiez
174 <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> pour contrôler l'environnement. Il est
175 conseillé de consulter les pages de manuel ou les FAQs de votre
176 système d'exploitation.</p>
177 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
178 <div class="section">
179 <h2><a name="tips" id="tips">Conseils pour éviter ce genre de problème</a></h2>
184 utilisez des adresses IP au sein des <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>
188 utilisez des adresses IP avec la directive <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
192 vérifiez que tous les serveurs virtuels possèdent un nom
193 <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code> explicite
196 <li>créez un serveur virtuel <code><VirtualHost
197 _default_:*></code> qui n'a aucune page à servir</li>
200 <div class="bottomlang">
201 <p><span>Langues Disponibles: </span><a href="./en/dns-caveats.html" hreflang="en" rel="alternate" title="English"> en </a> |
202 <a href="./fr/dns-caveats.html" title="Français"> fr </a> |
203 <a href="./ja/dns-caveats.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
204 <a href="./ko/dns-caveats.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
205 <a href="./tr/dns-caveats.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
206 </div><div id="footer">
207 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
208 <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>