]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_proxy_hcheck.html.fr.utf8
Fix xml validation error
[apache] / docs / manual / mod / mod_proxy_hcheck.html.fr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
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 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_proxy_hcheck - Serveur HTTP Apache Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
21 <p class="apache">Serveur HTTP Apache Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <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.5</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_proxy_hcheck</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_proxy_hcheck.html" title="Français">&nbsp;fr&nbsp;</a></p>
31 </div>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Check up dynamique des membres du groupe de répartition de charge
33 (équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
34 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
35 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_hcheck_module</td></tr>
36 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_hcheck.c</td></tr>
37 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr></table>
38 <h3>Sommaire</h3>
39
40     <p>Ce module permet d'effectuer un check up dynamique des membres du groupe
41     de répartition de charge (équipiers). Ce check up peut être activé pour un
42     ou plusieurs équipiers et il est indépendant des requêtes de mandataire
43     inverse proprement dites.</p>
44
45     <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de
46     <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.</p>
47
48 <div class="note"><h3>Paramètres</h3>
49   <p>Le mécanisme de check up est activé via l'utilisation de paramètres
50   supplémentaires de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configurés de manière standard
51   via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
52
53   <p>Ce module définit un nouveau drapeau d'état <a href="mod_proxy.html#status_table">status</a> pour BalancerMember :
54   "<code>C</code>". Lorsque l'équipier est mis hors service suite à un
55   disfonctionnement déterminé par le module de check up, ce drapeau est activé
56   et peut être lu (et modifié) via le <code>balancer-manager</code>.</p>
57
58     <table>
59     <tr><th>Paramètre</th>
60         <th>Défaut</th>
61         <th>Description</th></tr>
62     <tr><td>hcmethod</td>
63         <td>None</td>
64         <td>Aucun check up dynamique n'est effectué. Les choix possibles sont :
65                 <table>
66                         <tr><th>Method</th><th>Description</th><th>Note</th></tr>
67                         <tr><td>None</td><td>Aucun check up dynamique effectué</td><td /></tr>
68                         <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur
69                         d'arrière-plan peut être créé ; par exemple "es-tu en
70                         état de fonctionner"</td><td /></tr>
71                         <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP
72                         OPTIONS</code> au serveur d'arrière-plan</td><td>*</td></tr>
73                         <tr><td>HEAD</td><td>Envoie une requête <code>HTTP
74                         HEAD</code> au serveur d'arrière-plan</td><td>*</td></tr>
75                         <tr><td>GET</td><td>Envoie une requête <code>HTTP
76                         GET</code> au serveur d'arrière-plan</td><td>*</td></tr>
77
78                                 <tr><td colspan="3" /></tr>
79                                 <tr><td colspan="3">*: si hcexpr n'est pas
80                                 utilisé, un retour HTTP 2xx ou 3xx sera
81                                 interprété comme un passage avec succès du check
82                                 up.</td></tr>
83                 </table>
84         </td></tr>
85     <tr><td>hcpasses</td>
86         <td>1</td>
87         <td>Nombre de check up à passer avec succès avant de remettre en service
88         l'équipier</td></tr>
89     <tr><td>hcfails</td>
90         <td>1</td>
91         <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr>
92     <tr><td>hcinterval</td>
93         <td>30</td>
94         <td>Intervalle entre deux check up en secondes (par défaut effectué
95         toutes les 30 secondes). Utilise la syntaxe <a href="directive-dict.html#Syntax">time-interval</a>.</td></tr>
96     <tr><td>hcuri</td>
97         <td>&nbsp;</td>
98         <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr>
99     <tr><td>hctemplate</td>
100         <td>&nbsp;</td>
101         <td>Nom du modèle créé via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code> à
102         utiliser pour définir les paramètres de check up de cet équipier</td></tr>
103     <tr><td>hcexpr</td>
104         <td>&nbsp;</td>
105         <td>Nom de l'expression créée via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code>
106         utilisée pour analyser les en-têtes de la réponse du check up.<br />
107             <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est
108             interprété comme un check up réussi.</em></td></tr>
109     </table>
110 </div>
111
112 </div>
113 <div id="quickview"><h3>Sujets</h3>
114 <ul id="topics">
115 <li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples d'utilisation</a></li>
116 </ul><h3 class="directives">Directives</h3>
117 <ul id="toc">
118 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhcexpr">ProxyHCExpr</a></li>
119 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhctemplate">ProxyHCTemplate</a></li>
120 <li><img alt="" src="../images/down.gif" /> <a href="#proxyhctpsize">ProxyHCTPsize</a></li>
121 </ul>
122 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy_hcheck">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy_hcheck">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
123 <ul class="seealso">
124 <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
125 <li><a href="#comments_section">Commentaires</a></li></ul></div>
126 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
127 <div class="section">
128 <h2><a name="examples" id="examples">Exemples d'utilisation</a><a title="Lien permanent" href="#examples" class="permalink">&para;</a></h2>
129
130         
131     <p>L'exemple suivant montre comment configurer le check up pour différents
132     serveurs d'arrière-plan :</p>
133
134         
135         <pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
136 ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/}
137 ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
138
139 &lt;Proxy balancer://foo&gt;
140   BalancerMember http://www.example.com/  hcmethod=GET hcexpr=in_maint hcuri=/status.php
141   BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10
142   BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3
143   BalancerMember http://www4.example.com/
144 &lt;/Proxy&gt;
145
146 ProxyPass "/" "balancer://foo"
147 ProxyPassReverse "/" "balancer://foo"</pre>
148
149
150 <p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui
151 envoyant une requête <code>GET /status.php</code> et en regardant si la réponse
152 contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est
153 considéré comme ayant échoué et l'équipier est mis hors service. Ce check up
154 dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par
155 défaut.</p>
156
157 <p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant
158 simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant
159 que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste
160 l'équipier <code>http://www3.example.com/</code>  en vérifiant simplement toutes
161 les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce
162 serveur est marqué "hors service", il lui faudra 2 check up réussis pour être
163 réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là
164 il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin,
165 l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check
166 up.</p>
167
168 </div>
169 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
170 <div class="directive-section"><h2><a name="proxyhcexpr" id="proxyhcexpr">Directive</a> <a name="ProxyHCExpr" id="ProxyHCExpr">ProxyHCExpr</a><a title="Lien permanent" href="#proxyhcexpr" class="permalink">&para;</a></h2>
171 <table class="directive">
172 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme une expression conditionnelle à utiliser pour
173 déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr>
174 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCExpr <em>name</em> {<em>ap_expr expression</em>}</code></td></tr>
175 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
176 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr>
177 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
178 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr>
179 </table>
180     <p>La directive <code class="directive">ProxyHCExpr</code> permet de créer et nommer
181     une expression conditionnelle dont la valeur calculée en fonction des
182     en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la
183     santé de ce dernier. Cette expression nommée peut alors être assignée aux
184     serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p>
185
186     <div class="example"><h3>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des
187     check up réussis</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
188 ProxyPass "/apps"     "balancer://foo"
189
190 &lt;Proxy balancer://foo&gt;
191   BalancerMember http://www2.example.com/  hcmethod=HEAD hcexpr=ok234 hcinterval=10
192 &lt;/Proxy&gt;</pre>
193 </div>
194
195     <div class="note">
196     L'<a href="../expr.html">expression</a> peut utiliser des accolades ("{}")
197     comme délimiteurs en plus des guillemets normaux.
198     </div>
199
200     <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>)
201     qui génère un corps de réponse, ce corps peut lui-même être ausculté via
202     <code>ap_expr</code> en utilisant la fonction associée aux expressions
203     <code>hc()</code> spécifique à ce module.</p>
204
205     <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur
206     d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under
207     maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p>
208
209     <div class="example"><h3>ProxyHCExpr: auscultation du corps de la réponse</h3><pre class="prettyprint lang-config">ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
210 ProxyPass "/apps"     "balancer://foo"
211
212 &lt;Proxy balancer://foo&gt;
213   BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php
214 &lt;/Proxy&gt;</pre>
215 </div>
216
217     <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est
218     recommandé de privilégier un check up basé sur les codes d'état.</p>
219
220 </div>
221 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
222 <div class="directive-section"><h2><a name="proxyhctemplate" id="proxyhctemplate">Directive</a> <a name="ProxyHCTemplate" id="ProxyHCTemplate">ProxyHCTemplate</a><a title="Lien permanent" href="#proxyhctemplate" class="permalink">&para;</a></h2>
223 <table class="directive">
224 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme un modèle permettant de définir différents
225 paramètres de check up</td></tr>
226 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTemplate <em>name</em> <em>parameter</em>=<em>setting</em> [...]</code></td></tr>
227 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
228 <tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>FileInfo</td></tr>
229 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
230 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr>
231 </table>
232     <p>La directive <code class="directive">ProxyHCTemplate</code> permet de créer et
233     nommer un modèle de paramètres de check up qui peut alors être assigné aux
234     équipiers via le paramètre <code>hctemplate</code>.</p>
235
236     <div class="example"><h3>ProxyHCTemplate</h3><pre class="prettyprint lang-config">ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5
237 ProxyPass "/apps"     "balancer://foo"
238
239 &lt;Proxy balancer://foo&gt;
240   BalancerMember http://www2.example.com/ hctemplate=tcp5
241 &lt;/Proxy&gt;</pre>
242 </div>
243
244
245 </div>
246 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
247 <div class="directive-section"><h2><a name="proxyhctpsize" id="proxyhctpsize">Directive</a> <a name="ProxyHCTPsize" id="ProxyHCTPsize">ProxyHCTPsize</a><a title="Lien permanent" href="#proxyhctpsize" class="permalink">&para;</a></h2>
248 <table class="directive">
249 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille totale, pour l'ensemble du
250 serveur, du jeu de threads utilisé pour le check up des
251 équipiers</td></tr>
252 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTPsize <em>size</em></code></td></tr>
253 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHCTPsize 16</code></td></tr>
254 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
255 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
256 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr>
257 </table>
258     <p>Si Apache httpd et APR ont été compilés avec le support des threads, le
259     module de check up peut confier ce travail à un jeu de threads associé au
260     processus Watchdog, ce qui permet l'exécution des check up en parallèle. La
261     directive <code class="directive">ProxyHCTPsize</code> permet de déterminer la
262     taille de ce jeu de threads. Une valeur de <code>0</code> signifie qu'aucun
263     jeu de threads ne sera utilisé, et le check up des différents équipiers sera
264     alors effectué séquentiellement.</p>
265
266     <div class="example"><h3>ProxyHCTPsize</h3><pre class="prettyprint lang-config">ProxyHCTPsize 32</pre>
267 </div>
268
269
270 </div>
271 </div>
272 <div class="bottomlang">
273 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
274 <a href="../fr/mod/mod_proxy_hcheck.html" title="Français">&nbsp;fr&nbsp;</a></p>
275 </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>
276 <script type="text/javascript"><!--//--><![CDATA[//><!--
277 var comments_shortname = 'httpd';
278 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_proxy_hcheck.html';
279 (function(w, d) {
280     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
281         d.write('<div id="comments_thread"><\/div>');
282         var s = d.createElement('script');
283         s.type = 'text/javascript';
284         s.async = true;
285         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
286         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
287     }
288     else {
289         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
290     }
291 })(window, document);
292 //--><!]]></script></div><div id="footer">
293 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
294 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
295 if (typeof(prettyPrint) !== 'undefined') {
296     prettyPrint();
297 }
298 //--><!]]></script>
299 </body></html>