Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
apache2-doc /
manual /
fr /
mod /
Delete
Unzip
Name
Size
Permission
Date
Action
core.html
361.82
KB
-rw-r--r--
2026-06-12 05:08
directive-dict.html
20.54
KB
-rw-r--r--
2026-06-12 05:08
directives.html
58.25
KB
-rw-r--r--
2026-06-12 05:08
event.html
33.28
KB
-rw-r--r--
2026-06-12 05:08
index.html
27.9
KB
-rw-r--r--
2026-06-12 05:08
mod_access_compat.html
33.23
KB
-rw-r--r--
2026-06-12 05:08
mod_actions.html
13.74
KB
-rw-r--r--
2026-06-12 05:08
mod_alias.html
46.22
KB
-rw-r--r--
2026-06-12 05:08
mod_allowmethods.html
8.33
KB
-rw-r--r--
2026-06-12 05:08
mod_asis.html
9.15
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_basic.html
22.6
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_digest.html
23.05
KB
-rw-r--r--
2026-06-12 05:08
mod_auth_form.html
57.7
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_anon.html
18.52
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_core.html
18.41
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbd.html
16.96
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_dbm.html
13.86
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_file.html
12.25
KB
-rw-r--r--
2026-06-12 05:08
mod_authn_socache.html
21.67
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_fcgi.html
30.74
KB
-rw-r--r--
2026-06-12 05:08
mod_authnz_ldap.html
93.48
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_core.html
45.36
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbd.html
21.01
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_dbm.html
14.15
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_groupfile.html
11.11
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_host.html
14.94
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_owner.html
12.07
KB
-rw-r--r--
2026-06-12 05:08
mod_authz_user.html
8.39
KB
-rw-r--r--
2026-06-12 05:08
mod_autoindex.html
74.86
KB
-rw-r--r--
2026-06-12 05:08
mod_brotli.html
23.66
KB
-rw-r--r--
2026-06-12 05:08
mod_buffer.html
9.69
KB
-rw-r--r--
2026-06-12 05:08
mod_cache.html
81.11
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_disk.html
22.08
KB
-rw-r--r--
2026-06-12 05:08
mod_cache_socache.html
19.8
KB
-rw-r--r--
2026-06-12 05:08
mod_cern_meta.html
11.81
KB
-rw-r--r--
2026-06-12 05:08
mod_cgi.html
22.69
KB
-rw-r--r--
2026-06-12 05:08
mod_cgid.html
12.45
KB
-rw-r--r--
2026-06-12 05:08
mod_charset_lite.html
17.03
KB
-rw-r--r--
2026-06-12 05:08
mod_data.html
7.69
KB
-rw-r--r--
2026-06-12 05:08
mod_dav.html
22.71
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_fs.html
11.52
KB
-rw-r--r--
2026-06-12 05:08
mod_dav_lock.html
10.38
KB
-rw-r--r--
2026-06-12 05:08
mod_dbd.html
28.99
KB
-rw-r--r--
2026-06-12 05:08
mod_deflate.html
34.78
KB
-rw-r--r--
2026-06-12 05:08
mod_dialup.html
7.68
KB
-rw-r--r--
2026-06-12 05:08
mod_dir.html
27.64
KB
-rw-r--r--
2026-06-12 05:08
mod_dumpio.html
10.02
KB
-rw-r--r--
2026-06-12 05:08
mod_echo.html
7.36
KB
-rw-r--r--
2026-06-12 05:08
mod_env.html
12.18
KB
-rw-r--r--
2026-06-12 05:08
mod_example_hooks.html
12.06
KB
-rw-r--r--
2026-06-12 05:08
mod_expires.html
19.61
KB
-rw-r--r--
2026-06-12 05:08
mod_ext_filter.html
20.54
KB
-rw-r--r--
2026-06-12 05:08
mod_file_cache.html
18.33
KB
-rw-r--r--
2026-06-12 05:08
mod_filter.html
39.51
KB
-rw-r--r--
2026-06-12 05:08
mod_headers.html
41.18
KB
-rw-r--r--
2026-06-12 05:08
mod_heartbeat.html
9.75
KB
-rw-r--r--
2026-06-12 05:08
mod_heartmonitor.html
12.95
KB
-rw-r--r--
2026-06-12 05:08
mod_http2.html
85.5
KB
-rw-r--r--
2026-06-12 05:08
mod_ident.html
10.57
KB
-rw-r--r--
2026-06-12 05:08
mod_imagemap.html
24.56
KB
-rw-r--r--
2026-06-12 05:08
mod_include.html
70.75
KB
-rw-r--r--
2026-06-12 05:08
mod_info.html
16.11
KB
-rw-r--r--
2026-06-12 05:08
mod_isapi.html
26.77
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bybusyness.html
8.23
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_byrequests.html
13.18
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_bytraffic.html
8.59
KB
-rw-r--r--
2026-06-12 05:08
mod_lbmethod_heartbeat.html
8.57
KB
-rw-r--r--
2026-06-12 05:08
mod_ldap.html
59.24
KB
-rw-r--r--
2026-06-12 05:08
mod_log_config.html
44.14
KB
-rw-r--r--
2026-06-12 05:08
mod_log_debug.html
10.92
KB
-rw-r--r--
2026-06-12 05:08
mod_log_forensic.html
15.15
KB
-rw-r--r--
2026-06-12 05:08
mod_logio.html
11.47
KB
-rw-r--r--
2026-06-12 05:08
mod_lua.html
108.75
KB
-rw-r--r--
2026-06-12 05:08
mod_macro.html
16.92
KB
-rw-r--r--
2026-06-12 05:08
mod_md.html
126.42
KB
-rw-r--r--
2026-06-12 05:08
mod_mime.html
76.65
KB
-rw-r--r--
2026-06-12 05:08
mod_mime_magic.html
18.15
KB
-rw-r--r--
2026-06-12 05:08
mod_negotiation.html
24.81
KB
-rw-r--r--
2026-06-12 05:08
mod_nw_ssl.html
9.76
KB
-rw-r--r--
2026-06-12 05:08
mod_privileges.html
35.27
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy.html
165.75
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ajp.html
38.28
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_balancer.html
27.32
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_connect.html
10.61
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_express.html
14.2
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fcgi.html
25.72
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_fdpass.html
7.59
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_ftp.html
22.19
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_hcheck.html
19.76
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_html.html
41.71
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http.html
13.07
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_http2.html
10.95
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_scgi.html
16.14
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_uwsgi.html
8.6
KB
-rw-r--r--
2026-06-12 05:08
mod_proxy_wstunnel.html
11.64
KB
-rw-r--r--
2026-06-12 05:08
mod_ratelimit.html
7.25
KB
-rw-r--r--
2026-06-12 05:08
mod_reflector.html
8.9
KB
-rw-r--r--
2026-06-12 05:08
mod_remoteip.html
30.44
KB
-rw-r--r--
2026-06-12 05:08
mod_reqtimeout.html
14.19
KB
-rw-r--r--
2026-06-12 05:08
mod_request.html
10.05
KB
-rw-r--r--
2026-06-12 05:08
mod_rewrite.html
94.55
KB
-rw-r--r--
2026-06-12 05:08
mod_sed.html
12.56
KB
-rw-r--r--
2026-06-12 05:08
mod_session.html
40.92
KB
-rw-r--r--
2026-06-12 05:08
mod_session_cookie.html
14.85
KB
-rw-r--r--
2026-06-12 05:08
mod_session_crypto.html
20.25
KB
-rw-r--r--
2026-06-12 05:08
mod_session_dbd.html
28.44
KB
-rw-r--r--
2026-06-12 05:08
mod_setenvif.html
24.75
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_plain.html
8.32
KB
-rw-r--r--
2026-06-12 05:08
mod_slotmem_shm.html
9.1
KB
-rw-r--r--
2026-06-12 05:08
mod_so.html
15.7
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dbm.html
6.02
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_dc.html
6.08
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_memcache.html
9.14
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_redis.html
11.06
KB
-rw-r--r--
2026-06-12 05:08
mod_socache_shmcb.html
6.13
KB
-rw-r--r--
2026-06-12 05:08
mod_speling.html
13.88
KB
-rw-r--r--
2026-06-12 05:08
mod_ssl.html
236.75
KB
-rw-r--r--
2026-06-12 05:08
mod_status.html
13.34
KB
-rw-r--r--
2026-06-12 05:08
mod_substitute.html
16.08
KB
-rw-r--r--
2026-06-12 05:08
mod_suexec.html
8.28
KB
-rw-r--r--
2026-06-12 05:08
mod_systemd.html
8.02
KB
-rw-r--r--
2026-06-12 05:08
mod_unique_id.html
18.88
KB
-rw-r--r--
2026-06-12 05:08
mod_unixd.html
15.37
KB
-rw-r--r--
2026-06-12 05:08
mod_userdir.html
14.15
KB
-rw-r--r--
2026-06-12 05:08
mod_usertrack.html
21.62
KB
-rw-r--r--
2026-06-12 05:08
mod_version.html
11.08
KB
-rw-r--r--
2026-06-12 05:08
mod_vhost_alias.html
23.44
KB
-rw-r--r--
2026-06-12 05:08
mod_watchdog.html
8.17
KB
-rw-r--r--
2026-06-12 05:08
mod_xml2enc.html
17.69
KB
-rw-r--r--
2026-06-12 05:08
module-dict.html
9.7
KB
-rw-r--r--
2026-06-12 05:08
mpm_common.html
82.09
KB
-rw-r--r--
2026-06-12 05:08
mpm_netware.html
10.67
KB
-rw-r--r--
2026-06-12 05:08
mpm_winnt.html
11.52
KB
-rw-r--r--
2026-06-12 05:08
mpmt_os2.html
7.78
KB
-rw-r--r--
2026-06-12 05:08
overrides.html
77.74
KB
-rw-r--r--
2026-06-12 05:08
prefork.html
18.13
KB
-rw-r--r--
2026-06-12 05:08
quickreference.html
217.91
KB
-rw-r--r--
2026-06-12 05:08
worker.html
16.82
KB
-rw-r--r--
2026-06-12 05:08
Save
Rename
<!DOCTYPE html SYSTEM "about:legacy-compat"> <html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta content="width=device-width, initial-scale=1" name="viewport"> <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_proxy_hcheck - Serveur HTTP Apache Version 2.4</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"> </script> <link href="../../images/favicon.png" rel="shortcut icon"></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p> <p class="apache">Serveur HTTP Apache Version 2.4</p> <img alt="" src="../../images/feather.png"></div> <div class="up"><a href="./index.html"><img title="<-" alt="<-" src="../../images/left.gif"></a></div> <div id="path"> <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Serveur HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../index.html">Version 2.4</a> > <a href="./index.html">Modules</a></div> <div id="page-content"> <div id="preamble"><h1>Module Apache mod_proxy_hcheck</h1> <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p> </div> <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 (équipiers) pour <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr> <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>proxy_hcheck_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_hcheck.c</td></tr> <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> <h3>Sommaire</h3> <p>Ce module permet d'effectuer un check up dynamique des membres du groupe de répartition de charge (équipiers). Ce check up peut être activé pour un ou plusieurs équipiers et il est indépendant des requêtes de mandataire inverse proprement dites.</p> <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code>.</p> <div class="note"><h3>Paramètres</h3> <p>Le mécanisme de check up est activé via l'utilisation de paramètres supplémentaires de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configurés de manière standard via la directive <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p> <p>Ce module définit un nouveau drapeau d'état <a href="mod_proxy.html#status_table">status</a> pour BalancerMember : "<code>C</code>". Lorsque l'équipier est mis hors service suite à un disfonctionnement déterminé par le module de check up, ce drapeau est activé et peut être lu (et modifié) via le <code>balancer-manager</code>.</p> <table> <tr><th>Paramètre</th> <th>Défaut</th> <th>Description</th></tr> <tr><td>hcmethod</td> <td>None</td> <td>Aucun check up dynamique n'est effectué. Les choix possibles sont : <table> <tr><th>Method</th><th>Description</th><th>Note</th></tr> <tr><td>None</td><td>Aucun check up dynamique effectué</td><td></td></tr> <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur d'arrière-plan peut être créé ; par exemple "es-tu en état de fonctionner"</td><td></td></tr> <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP OPTIONS</code> au serveur d'arrière-plan via <code>HTTP/1.0</code></td><td>*</td></tr> <tr><td>HEAD</td><td>Envoie une requête <code>HTTP HEAD</code> au serveur d'arrière-plan via <code>HTTP/1.0</code></td><td>*</td></tr> <tr><td>GET</td><td>Envoie une requête <code>HTTP GET</code> au serveur d'arrière-plan via <code>HTTP/1.0</code></td><td>*</td></tr> <tr><td>OPTIONS11</td><td>Envoie une requête <code>HTTP OPTIONS</code> au serveur d'arrière-plan via <code>HTTP/1.1</code></td><td>*</td></tr> <tr><td>HEAD11</td><td>Envoie une requête <code>HTTP HEAD</code> au serveur d'arrière-plan via <code>HTTP/1.1</code></td><td>*</td></tr> <tr><td>GET11</td><td>Envoie une requête <code>HTTP GET</code> au serveur d'arrière-plan via <code>HTTP/1.1</code></td><td>*</td></tr> <tr><td colspan="3"></td></tr> <tr><td colspan="3">*: si hcexpr n'est pas utilisé, un retour HTTP 2xx ou 3xx sera interprété comme un passage avec succès du check up.</td></tr> </table> </td></tr> <tr><td>hcpasses</td> <td>1</td> <td>Nombre de check up à passer avec succès avant de remettre en service l'équipier</td></tr> <tr><td>hcfails</td> <td>1</td> <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr> <tr><td>hcinterval</td> <td>30</td> <td>Intervalle entre deux check up en secondes (par défaut effectué toutes les 30 secondes)</td></tr> <tr><td>hcuri</td> <td> </td> <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr> <tr><td>hctemplate</td> <td> </td> <td>Nom du modèle créé via <code class="directive"><a href="#proxyhctemplate">ProxyHCTemplate</a></code> à utiliser pour définir les paramètres de check up de cet équipier</td></tr> <tr><td>hcexpr</td> <td> </td> <td>Nom de l'expression créée via <code class="directive"><a href="#proxyhcexpr">ProxyHCExpr</a></code> utilisée pour analyser les en-têtes de la réponse du check up.<br> <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est interprété comme un check up réussi.</em></td></tr> </table> </div> <div class="note"><h3>Compatibilité :</h3> <p><code>OPTIONS11</code>, <code>HEAD11</code> et <code>GET11</code> sont disponibles à partir de la version 2.4.55 du serveur HTTP Apache.</p> </div> </div> <div id="quickview"><h3>Sujets</h3> <ul id="topics"> <li><img alt="" src="../../images/down.gif"> <a href="#examples">Exemples d'utilisation</a></li> </ul><h3 class="directives">Directives</h3> <ul id="toc"> <li><img alt="" src="../../images/down.gif"> <a href="#proxyhcexpr">ProxyHCExpr</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#proxyhctemplate">ProxyHCTemplate</a></li> <li><img alt="" src="../../images/down.gif"> <a href="#proxyhctpsize">ProxyHCTPsize</a></li> </ul> <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__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_proxy_hcheck">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_hcheck">Signaler un bug</a></li></ul><h3>Voir aussi</h3> <ul class="seealso"> <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="section"> <h2 id="examples">Exemples d'utilisation <a title="Lien permanent" href="#examples" class="permalink">¶</a></h2> <p>L'exemple suivant montre comment configurer le check up pour différents serveurs d'arrière-plan :</p> <pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/} ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} <Proxy balancer://foo> BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3 BalancerMember http://www4.example.com/ </Proxy> ProxyPass "/" "balancer://foo" ProxyPassReverse "/" "balancer://foo"</pre> <p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui envoyant une requête <code>GET /status.php</code> et en regardant si la réponse contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est considéré comme ayant échoué et l'équipier est mis hors service. Ce check up dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par défaut.</p> <p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste l'équipier <code>http://www3.example.com/</code> en vérifiant simplement toutes les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce serveur est marqué "hors service", il lui faudra 2 check up réussis pour être réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin, l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check up.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="proxyhcexpr">Directive <span id="ProxyHCExpr">ProxyHCExpr</span> <a title="Lien permanent" href="#proxyhcexpr" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Crée et nomme une expression conditionnelle à utiliser pour déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur</td></tr> <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> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> </table> <p>La directive <code class="directive">ProxyHCExpr</code> permet de créer et nommer une expression conditionnelle dont la valeur calculée en fonction des en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la santé de ce dernier. Cette expression nommée peut alors être assignée aux serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p> <div class="example"><h3>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des check up réussis</h3><pre class="prettyprint lang-config">ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} ProxyPass "/apps" "balancer://foo" <Proxy balancer://foo> BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 </Proxy></pre> </div> <div class="note"> L'<a href="../expr.html">expression</a> peut utiliser des accolades ("{}") comme délimiteurs en plus des guillemets normaux. </div> <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>) qui génère un corps de réponse, ce corps peut lui-même être ausculté via <code>ap_expr</code> en utilisant la fonction associée aux expressions <code>hc()</code> spécifique à ce module.</p> <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p> <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/} ProxyPass "/apps" "balancer://foo" <Proxy balancer://foo> BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php </Proxy></pre> </div> <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est recommandé de privilégier un check up basé sur les codes d'état.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="proxyhctemplate">Directive <span id="ProxyHCTemplate">ProxyHCTemplate</span> <a title="Lien permanent" href="#proxyhctemplate" class="permalink">¶</a></h2> <table class="directive"> <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 paramètres de check up</td></tr> <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> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> </table> <p>La directive <code class="directive">ProxyHCTemplate</code> permet de créer et nommer un modèle de paramètres de check up qui peut alors être assigné aux équipiers via le paramètre <code>hctemplate</code>.</p> <div class="example"><h3>ProxyHCTemplate</h3><pre class="prettyprint lang-config">ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5 ProxyPass "/apps" "balancer://foo" <Proxy balancer://foo> BalancerMember http://www2.example.com/ hctemplate=tcp5 </Proxy></pre> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../../images/up.gif"></a></div> <div class="directive-section"><h2 id="proxyhctpsize">Directive <span id="ProxyHCTPsize">ProxyHCTPsize</span> <a title="Lien permanent" href="#proxyhctpsize" class="permalink">¶</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille totale, pour l'ensemble du serveur, du jeu de threads utilisé pour le check up des équipiers</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyHCTPsize <em>size</em></code></td></tr> <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyHCTPsize 16</code></td></tr> <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_hcheck</td></tr> </table> <p>Si Apache httpd et APR ont été compilés avec le support des threads, le module de check up peut confier ce travail à un jeu de threads associé au processus Watchdog, ce qui permet l'exécution des check up en parallèle. La directive <code class="directive">ProxyHCTPsize</code> permet de déterminer la taille de ce jeu de threads. Une valeur de <code>0</code> signifie qu'aucun jeu de threads ne sera utilisé, et le check up des différents équipiers sera alors effectué séquentiellement.</p> <div class="example"><h3>ProxyHCTPsize</h3><pre class="prettyprint lang-config">ProxyHCTPsize 32</pre> </div> </div> </div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../../en/mod/mod_proxy_hcheck.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../../fr/mod/mod_proxy_hcheck.html" title="Français"> fr </a></p> </div><div id="footer"> <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autorisé sous <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/index.html">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); } var langToggle = document.querySelector('.lang-toggle'); var topLang = document.querySelector('.toplang'); if (langToggle && topLang) { langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); } var qv = document.getElementById('quickview'); if (qv) { document.body.appendChild(qv); var qvBtn = document.createElement('button'); qvBtn.className = 'qv-toggle'; qvBtn.setAttribute('aria-label', 'Toggle page navigation'); qvBtn.innerHTML = '☰'; document.body.appendChild(qvBtn); qvBtn.addEventListener('click', function() { var isOpen = qv.classList.toggle('open'); if (isOpen) { qv.style.top = window.scrollY + 10 + 'px'; } }); window.addEventListener('scroll', function() { qv.classList.remove('open'); }); } //--><!]]></script> </body></html>