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