<a href="../ko/misc/relevant_standards.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
- <p>Cette page documente tous les standards applicables que suit le
- serveur HTTP Apache, accompagnés d'une brève description.</p>
+ <p>Cette page documente les standards applicables que le serveur HTTP Apache
+ implémente ou suit, avec une brève description.</p>
<p>Pour compléter les informations fournies ci-dessous, vous pouvez
consulter les ressources suivantes :</p>
<ul>
<li>
- <a href="https://www.skrb.org/ietf/http_errata.html">
- https://www.skrb.org/ietf/http_errata.html</a> - Corrections de la
- spécification HTTP/1.1
- </li>
- <li>
- <a href="https://www.rfc-editor.org/errata.php">
- https://www.rfc-editor.org/errata.php</a> - Corrections des RFCs
+ <a href="https://www.rfc-editor.org/errata.php">Corrections des RFCs</a>
+ — Corrections de RFCs publiées
</li>
<li>
<a href="https://httpwg.org/specs/">
- https://httpwg.org/specs/</a> - Une liste
- précompilée des RFCs en rapport avec HTTP
+ Spécifications du groupe de travail HTTP</a> - Une liste
+ précompilée des RFCs et ébauches en rapport avec HTTP
</li>
</ul>
- <div class="warning"><h3>Avertissement</h3>
- <p>Ce document n'est pas encore finalisé.</p>
- </div>
-
</div>
-<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#http_recommendations">Recommandations HTTP</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#html_recommendations">Recommandations HTML</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#authentication">Authentification</a></li>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#http_recommendations">HTTP</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#uri">URIs</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#tls">TLS/SSL</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#authentication">Authentication</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#content_negotiation">Négociation de contenu et compression</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxy">Mandat et redirection</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#websocket">WebSocket</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#cgi">CGI</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#webdav">WebDAV</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#language_country_codes">Codes de langages et de
pays</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="http_recommendations">Recommandations HTTP <a title="Lien permanent" href="#http_recommendations" class="permalink">¶</a></h2>
+<h2 id="http_recommendations">HTTP <a title="Lien permanent" href="#http_recommendations" class="permalink">¶</a></h2>
<p>Sans tenir compte des modules compilés et utilisés, Apache en
- tant que serveur web de base respecte les recommandations IETF
+ tant que serveur web de base respecte les normes IETF
suivantes :</p>
<dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9110">RFC 9110</a>
+ (Série de standards) — Sémantique de HTTP</dt>
+
+ <dd>Cette norme définit la sémantique partagée par toutes les versions de
+ HTTP : méthodes, codes d’état, champs d’en-tête et de fin de page,
+ négociation sur le contenu et métadonnées des messages. Elle rend
+ obsolètes les RFC 7231, 7232, 7233, 7235 et 7694.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9111">RFC 9111</a>
+ (Série de standards) — Mise en cache HTTP</dt>
+
+ <dd>Cette norme définit les caches HTTP et les champs d’en-tête HTTP
+ associés qui contrôlent le comportement du cache ou indiquent des réponses
+ pouvant être mises en cache. Elle rend obsolète la RFC 7234.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9112">RFC 9112</a>
+ (Série de standards) — HTTP/1.1</dt>
+
+ <dd>Cette norme définit la syntaxe des messages et la gestion des
+ connexions avec HTTP/1.1. Elle rend obsolète la RFC 7230.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9113">RFC 9113</a>
+ (Série de standards) — HTTP/2</dt>
+
+ <dd>Cette norme définit et optimise l’expression de la sémantique de HTTP
+ en utilisant le cadrage binaire (binary framing) et des flux multiplexés
+ sur une seule connexion TCP. Elle rend obsolètes les RFC 7540 et 8740.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9114">RFC 9114</a>
+ (Série de standards) — HTTP/3</dt>
+
+ <dd>Cette norme définit le mappage de la sémantique HTTP sur QUIC, tout en
+ fournissant des fonctionnalités similaires à HTTP/2 avec une latence
+ réduite.</dd>
+
<dt><a href="https://www.rfc-editor.org/rfc/rfc1945">RFC 1945</a>
- (Informations)</dt>
+ (Informations) — HTTP/1.0</dt>
- <dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
- Protocol - HTTP) est un protocole de niveau application avec la
- clarté et la vitesse nécessaires pour les systèmes d'informations
- distribués, collaboratifs et hypermédia. Cette RFC documente le
- protocole HTTP/1.0.</dd>
+ <dd>La spécification HTTP/1.0 originale. Conservée à titre de référence
+ historique ; httpd accepte encore les requêtes HTTP/1.0.</dd>
+ </dl>
- <dt><a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a>
- (Série de standards)</dt>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="uri">URIs <a title="Lien permanent" href="#uri" class="permalink">¶</a></h2>
- <dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
- Protocol - HTTP) est un protocole de niveau application pour les
- systèmes d'informations distribués, collaboratifs et hypermédia.
- Cette RFC documente le protocole HTTP/1.1.</dd>
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc3986">RFC 3986</a>
+ (Série de standards) — Uniform Resource Identifier (URI): Syntaxe
+ générique</dt>
- <dt><a href="https://www.rfc-editor.org/rfc/rfc2396">RFC 2396</a>
- (Série de standards)</dt>
+ <dd>La syntaxe générique et les règles de résolution des URIs. Cette norme
+ rend obsolète la RFC 2396.</dd>
- <dd>Un Identificateur de Ressource Uniforme (Uniform Resource
- Identifier - URI) est une chaîne de caractères compacte permettant
- d'identifier une ressource physique ou abstraite.</dd>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc6570">RFC 6570</a>
+ (Série de standards) — Modèle d’URI</dt>
- <dt><a href="https://www.rfc-editor.org/rfc/rfc4346">RFC 4346</a>
- (Série de standards)</dt>
+ <dd>Cette norme définit une séquence compacte de caractères pour décrire
+ une gamme d’URIs à l’aide d’un développement de variable.</dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="tls">TLS/SSL <a title="Lien permanent" href="#tls" class="permalink">¶</a></h2>
+
+ <p>Les normes suivantes s’appliquent lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est
+ activé :</p>
+
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc8446">RFC 8446</a>
+ (Série de standards) — TLS 1.3</dt>
+
+ <dd>La version actuelle du protocole TLS (Transport Layer Security)
+ assurant la confidentialité des communications sur l’Internet. Cette norme
+ rend obsolète la RFC 5246 (texte de la spécification de TLS 1.2).</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc5246">RFC 5246</a>
+ (Série de standards) — TLS 1.2</dt>
+
+ <dd>La version précédente de TLS largement déployée. Encore prise en
+ charge par httpd pour une compatibilité avec les clients anciens.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc6960">RFC 6960</a>
+ (Série de standards) — OCSP</dt>
+
+ <dd>Le protocole OCSP (Online Certificate Status Protocol) utilisé pour
+ vérifier l’état de révocation des certificats en temps réel (l’agrafage
+ OCSP - OCSP stapling - à l’aide de la directive <code class="directive"><a href="../mod/mod_ssl.html#sslstaplingcache">SSLStaplingCache</a></code>).</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc6066">RFC 6066</a>
+ (Série de standards) — TLS Extensions</dt>
+
+ <dd>Cette norme définit les extensions de TLS, dont SNI (Server Name
+ Indication) qu’utilise httpd pour les serveurs virtuels à base de nom sur
+ TLS.</dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="authentication">Authentication <a title="Lien permanent" href="#authentication" class="permalink">¶</a></h2>
+
+ <p>À propos des différentes méthodes d’authentification :</p>
+
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc7617">RFC 7617</a>
+ (Série de standards) — Le schéma d’authentification « basique » de HTTP</dt>
+
+ <dd>L’authentification basique de HTTP qui transmet les données
+ d’authentification sous la forme de paires identifiant utilisateur/mot de
+ passe encodées en Base64. Cette norme rend obsolète la RFC 2617 (la
+ portion basique de auth).</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc7616">RFC 7616</a>
+ (Série de standards) — L’authentification de l’accès par condensés de HTTP</dt>
+
+ <dd>L’authentification par condensés de HTTP qui fournit un mécanisme de
+ question-réponse qui évite de transmettre le mot de passe en clair. Cette
+ norme rend obsolète la RFC 2617 (portion condensé de auth).</dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="content_negotiation">Négociation de contenu et compression <a title="Lien permanent" href="#content_negotiation" class="permalink">¶</a></h2>
+
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9110#section-12">RFC 9110</a> - Négociation de contenu</dt>
+
+ <dd>La négociation de contenu proactive et réactive à l’aide des champs
+ d’en-tête Accept, Accept-Language, Accept-Encoding et Accept-Charset.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc7932">RFC 7932</a>
+ (Informations) — Brotli Compressed Data Format</dt>
+
+ <dd>Cette norme définit l’algorithme de compression Brotli pris en charge
+ par le module <code class="module"><a href="../mod/mod_brotli.html">mod_brotli</a></code>.</dd>
+ </dl>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="proxy">Mandat et redirection <a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2>
+
+ <p>Quand <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> est activé :</p>
+
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc7239">RFC 7239</a>
+ (Série de standards) — L’extension HTTP Forwarded</dt>
+
+ <dd>Cette norme définit le champ d’en-tête Forwarded pour le transport des
+ informations à propos de la face côté client des serveurs mandataires.</dd>
- <dd>Le protocole TLS permet l'utilisation de communications
- sécurisées sur l'Internet. Il fournit le chiffrement, et a été
- conçu pour se prémunir contre l'interception, la modification et
- la falsification de messages.</dd>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9209">RFC 9209</a>
+ (Série de standards) — Le champ d’en-tête de réponse HTTP Proxy-Status</dt>
+
+ <dd>Cette norme définit un mécanisme permettant aux mandataires de
+ communiquer les détails de la gestion intermédiaire au client.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc9220">RFC 9220</a>
+ (Série de standards) — « Bootstrapping » des WebSockets avec HTTP/2</dt>
+
+ <dd>Cette norme définit un mécanisme permettant d’utiliser le protocole
+ WebSocket sur un seul flux HTTP/2.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="html_recommendations">Recommandations HTML <a title="Lien permanent" href="#html_recommendations" class="permalink">¶</a></h2>
+<h2 id="websocket">WebSocket <a title="Lien permanent" href="#websocket" class="permalink">¶</a></h2>
+
+ <dl>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc6455">RFC 6455</a>
+ (Série de standards) — The WebSocket Protocol</dt>
+
+ <dd>Cette norme définit le protocole WebSocket qui permet une
+ communication bidirectionnelle entre un client et un serveur sur une seule
+ connexion TCP. Il est pris en charge par le module
+ <code class="module"><a href="../mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code>.</dd>
+ </dl>
- <p>En ce qui concerne le langage HTML, Apache respecte les
- recommandations IETF et W3C suivantes :</p>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="cgi">CGI <a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
<dl>
- <dt><a href="https://www.rfc-editor.org/rfc/rfc2854">RFC 2854</a>
- (Informations)</dt>
-
- <dd>Ce document résume l'historique du développement de HTML, et
- définit le type MIME "text/html" en pointant les recommandations
- W3C correspondantes.</dd>
-
- <dt><a href="http://www.w3.org/TR/html401">Spécification HTML
- 4.01</a>
- (<a href="http://www.w3.org/MarkUp/html4-updates/errata">Corrections
- Erreurs</a>)
- </dt>
-
- <dd>Cette spécification définit le Langage à Balises HyperTexte
- (HyperText Markup Language - HTML), le langage de publication du
- World Wide Web. Elle définit HTML 4.01, qui est une sous-version
- de HTML 4.</dd>
-
- <dt><a href="http://www.w3.org/TR/REC-html32">Référence HTML
- 3.2</a></dt>
-
- <dd>Le langage à Balises HyperTexte (HyperText Markup Language -
- HTML) est un langage à balises simple permettant de créer des
- documents hypertextes portables. Les documents HTML sont aussi des
- documents SGML.</dd>
-
- <dt><a href="http://www.w3.org/TR/xhtml11/">XHTML 1.1 -
- XHTML sous forme de modules</a>
- (<a href="http://www.w3.org/MarkUp/2009/xhtml11-2nd-edition-errata.html">Corrections
- d'erreurs</a>)
- </dt>
-
- <dd>Cette recommandation définit un nouveau type de document XHTML
- basé sur le cadre de développement des modules et les modules
- définis dans la modularisation de XHTML.</dd>
-
- <dt><a href="http://www.w3.org/TR/xhtml1">XHTML 1.0, le Langage à
- Balises Hypertexte Extensible (Extensible HyperText Markup
- Language) - Seconde édition</a>
- (<a href="http://www.w3.org/2002/08/REC-xhtml1-20020801-errata/">Corrections
- d'erreurs</a>)
- </dt>
-
- <dd>Cette spécification définit la seconde édition de XHTML 1.0,
- une reformulation de HTML 4 en tant qu'application XML 1.0, ainsi
- que trois DTDs correspondant à celles définies par HTML 4.</dd>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc3875">RFC 3875</a>
+ (Informations) — CGI (Common Gateway Interface) Version 1.1</dt>
+
+ <dd>Cette norme définit l’interface CGI qui permet d’exécuter des
+ programmes externes sur un serveur web. Implémenté par les modules
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="authentication">Authentification <a title="Lien permanent" href="#authentication" class="permalink">¶</a></h2>
+<h2 id="webdav">WebDAV <a title="Lien permanent" href="#webdav" class="permalink">¶</a></h2>
- <p>En ce qui concerne les différentes méthodes d'authentification,
- Apache respecte les recommandations IETF suivantes :</p>
+ <p>Quand <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> est activé :</p>
<dl>
- <dt><a href="https://www.rfc-editor.org/rfc/rfc2617">RFC 2617</a>
- (Série de standards)</dt>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc4918">RFC 4918</a>
+ (Série de standards) — Extensions HTTP pour WebDav (Web Distributed
+ Authoring and Versioning)</dt>
+
+ <dd>Cette norme définit des extensions à HTTP pour les opérations de
+ création distribuée. Elle rend obsolète la RFC 2518.</dd>
+
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc3744">RFC 3744</a>
+ (Série de standards) — Protocole de contrôle d’accès pour WebDAV (Web
+ Distributed Authoring and Versioning)</dt>
- <dd>"HTTP/1.0", y compris la spécification d'un protocole
- d'authentification et de contrôle d'accès basique.</dd>
+ <dd>Cette norme définit des extensions de contrôle d’accès pour WebDAV.</dd>
</dl>
<h2 id="language_country_codes">Codes de langages et de
pays <a title="Lien permanent" href="#language_country_codes" class="permalink">¶</a></h2>
- <p>Les liens suivants fournissent des informations à propos des
- codes de langages et de pays aux normes ISO ou autres :</p>
+ <p>Les codes de langages et de pays utilisés dans la négociation de contenu
+ :</p>
<dl>
- <dt><a href="http://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
+ <dt><a href="https://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
<dd>ISO 639 fournit deux jeux de codes de langages permettant de
représenter les noms des langues ; le premier est
présenté dans le lien ci-dessus), est un jeu de codes sur trois
lettres (639-2).</dd>
- <dt><a href="http://www.iso.org/iso/country_codes">
+ <dt><a href="https://www.iso.org/iso-3166-country-codes.html">
ISO 3166-1</a></dt>
- <dd>Ce document présente les noms de pays (les noms raccourcis
- officiels en anglais) dans l'ordre alphabétique, tels qu'ils sont
- présentés dans la norme ISO 3166-1 et les éléments de codes
- correspondants de la norme ISO 3166-1-alpha-2.</dd>
+ <dd>Noms des pays et éléments de code correspondants à deux et trois
+ caractères.</dd>
- <dt><a href="https://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a> (Les
- meilleurs pratiques courantes), <a href="https://www.rfc-editor.org/rfc/rfc3066">RFC 3066</a></dt>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc5646">RFC 5646</a>
+ (Meilleure pratique actuelle) — Symboles pour identifier les langues</dt>
- <dd>Ce document décrit une balise de langue permettant de
- spécifier la langue utilisée dans un objet contenant des
- informations, la manière d'enregistrer des valeurs à utiliser dans
- cette balise de langue, et une méthode pour comparer les balises
- de langue de ce style.</dd>
+ <dd>Cette norme décrit la structure et l’enregistrement des symboles de
+ langue utilisés dans la négociation de contenu de HTTP (Accept-Language,
+ Content-Language). Elle rend obsolète la RFC 3066.</dd>
<dt><a href="https://www.rfc-editor.org/rfc/rfc3282">RFC 3282</a>
(Série de standards)</dt>
- <dd>Ce document définit une en-tête "Content-language:" permettant
- de spécifier la langue d'un élément possédant des en-têtes du
- style RFC 822, comme les portions de corps MIME ou les documents
- Web, et un en-tête "Accept-Language:" permettant de spécifier des
- préférences en matière de langue.</dd>
+ <dd>Cette norme définit les champs d’en-tête Content-Language and
+ Accept-Language qui indiquent les préférences en matière de langue dans
+ les messages HTTP.</dd>
</dl>
</div></div>
<modulefile>mod_proxy.xml.fr</modulefile>
<modulefile>mod_proxy_ajp.xml.fr</modulefile>
<modulefile>mod_proxy_balancer.xml.fr</modulefile>
- <modulefile>mod_proxy_beacon.xml</modulefile>
+ <modulefile>mod_proxy_beacon.xml.fr</modulefile>
<modulefile>mod_proxy_connect.xml.fr</modulefile>
<modulefile>mod_proxy_express.xml.fr</modulefile>
<modulefile>mod_proxy_fcgi.xml.fr</modulefile>
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
disponibles</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr></table>
suivi d'une liste d'options, séparées par des virgules (sans espaces),
pouvant être définies à l'aide de la directive <code class="directive"><a href="#options">Options</a></code>.
- <div class="note"><h3>Désactivation implicite des options</h3>
- <p>Bien que la liste des options disponibles dans les fichiers
- .htaccess puisse être limitée par cette directive, tant qu'un
- directive <code class="directive"><a href="#options">Options</a></code> est
- autorisée, toute autre option héritée peut être désactivée en
- utilisant la syntaxe non-relative. En d'autres termes, ce
- mécanisme ne peut pas forcer une option spécifique à rester
- <em>activée</em> tout en permettant à toute autre option d'être
- activée.
- </p></div>
+ <div class="warning"><h3>Désactivation implicite des options</h3>
+ <p>Cette restriction ne contrôle que les options qu’un fichier
+ <code>.htaccess</code> peut <em>activer</em>. Elle n’empêche pas la
+ <em>désactivation</em> des options héritées.</p>
+
+ <p>Lorsqu’une directive <code class="directive"><a href="#options">Options</a></code> dans
+ un fichier <code>.htaccess</code> utilise une syntaxe absolue (sans
+ préfixe <code>+</code> ou <code>-</code>), elle <em>remplace</em> la
+ totalité du jeu d’options héritées. Toute option auparavant active qui
+ n’est pas listée est implicitement désactivée—il en est de même pour
+ les options qui ne sont pas dans la liste <code>AllowOverride</code> des
+ options permises.</p>
+
+ <p>Par exemple, si la configuration définit :</p>
+ <pre class="prettyprint lang-config">Options Indexes FollowSymLinks ExecCGI
+AllowOverride Options=Indexes</pre>
+
+ <p>et si un fichier <code>.htaccess</code> contient :</p>
+ <pre class="prettyprint lang-config">Options Indexes</pre>
+
+ <p>les options <code>FollowSymLinks</code> et <code>ExecCGI</code> seront
+ implicitement désactivée pour le répertoire concerné, même si la ligne
+ <code>AllowOverride</code> ne fait que permettre la définition de l’option
+ <code>Indexes</code>.</p>
+
+ <p>En bref, ce mécanisme ne peut pas forcer une option spécifique à rester
+ <em>définie</em> tout en permettant la définition de toutes les autres.</p>
+ </div>
<pre class="prettyprint lang-config">AllowOverride Options=Indexes,MultiViews</pre>
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">tr</variant>
</variants>
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></dd>
<dt><a href="mod_proxy_balancer.html">mod_proxy_balancer</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de
la répartition de charge</dd>
-<dt><a href="mod_proxy_beacon.html">mod_proxy_beacon</a></dt><dd>Dynamic Balancer membership where backends announce themselves
-to the reverse proxy over unicast UDP datagrams</dd>
+<dt><a href="mod_proxy_beacon.html">mod_proxy_beacon</a></dt><dd>Inscription dynamique comme membre d’un répartiteur de charge où
+les serveurs dorsaux s’annoncent eux-mêmes au mandataire inverse à l’aide de
+datagrammes UDP unicast</dd>
<dt><a href="mod_proxy_connect.html">mod_proxy_connect</a></dt><dd>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le traitement
des requêtes <code>CONNECT</code></dd>
<dt><a href="mod_proxy_express.html">mod_proxy_express</a></dt><dd>Extension à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le mandatement
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_md.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_md.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gestion des domaines au sein des serveurs virtuels et obtention
de certificats via le protocole ACME
</td></tr>
aussi ici, ce qui vous permettra de visualiser les éventuels
problèmes sans devoir vous plonger dans les journaux du serveur.
</p><p>
- Il existe aussi un nouveau gestionnaire, "md-status", qui peut
+ Il existe aussi un nouveau gestionnaire,
+ « <code>md-status</code> », qui peut
vous fournir les informations à propos des domaines gérés à
- partir de "server-status" et au format JSON. Vous pouvez le
+ partir de « <code>server-status</code> » et au format JSON. Vous pouvez le
configurer comme suit sur votre serveur :
</p>
<pre class="prettyprint lang-config"><Location "/md-status">
SetHandler md-status
+ Require host example.com
</Location></pre>
<p>
- Comme pour "server-status", vous devez
- ajouter les autorisations nécessaires.
+ Comme pour « <code>server-status</code> », vous
+ <strong>devez</strong> protéger la sortie de
+ <code>md-status</code> de la vue du public en instaurant des
+ restrictions d’autorisation (telles que
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>).
</p><p>
Si vous ne souhaitez recevoir l'état JSON que pour un domaine
spécifique, ajoutez le simplement à votre URL d'état :
</MDomain></pre>
<p>
- et utilisez 'server-status' et/ou <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> pour voir comment tout
+ et utilisez « <code>server-status</code> » et/ou <code class="directive"><a href="#mdmessagecmd">MDMessageCmd</a></code> pour voir comment tout
cela fonctionne. Vous pourrez alors vérifier si l'information
d'agrafage est présente, sa durée de validité, son origine et à
quel moment elle sera rafraîchie.
Si vous spécifiez plusieurs URLs, chacune d'entre elles est
testée en mode tourniquet ("round-robin") après un certain
nombre d'échecs. Vous pouvez définir la rapidité de ce processus
- à l'aide des directives <code class="directive">MDRetryDelay</code> et
- <code class="directive">MDRetryFailover</code>. Par défaut, une demie
+ à l'aide des directives <code class="directive"><a href="#mdretrydelay">MDRetryDelay</a></code> et
+ <code class="directive"><a href="#mdretryfailover">MDRetryFailover</a></code>. Par défaut, une demie
journée d'essais infructueux est considérée comme un échec.
</p><p>
Tous les autres réglages s'appliquent à chacune de ces URLs. Il
est ainsi par exemple impossible d'en avoir deux avec des
- directives <code class="directive">MDExternalAccountBinding</code>
+ directives <code class="directive"><a href="#mdexternalaccountbinding">MDExternalAccountBinding</a></code>
différentes.
</p><p>
A des fins de test, les CAs fournissent en général une seconde
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
<p>
- Cette directive impacte l'interface utilisateur HTML 'server-status' et
+ Cette directive impacte l'interface utilisateur HTML
+ « <code>server-status</code> » et
n'a rien à voir avec le fonctionnement de mod_md proprement dit.
Elle permet de définir le lien qui s'affiche sur cette interface
pour accéder facilement à un moniteur de certificat. L'empreinte
</table>
<p>
Cette directive permet de définir de quelle manière est invoquée
- la commande MDChallengeDns01, à savoir le nombre et le type de
+ la commande <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code>, à savoir le nombre et le type de
ses arguments. Voir <code class="directive"><a href="#mdchallengedns01">MDChallengeDns01</a></code> pour les
différences.
Cette définition est globale et ne peut pas s'appliquer
Apache</td></tr>
</table>
<p>
- Le mode `all` correspond au comportement de toutes les versions
- précédentes. ServerName et ServerAlias sont inspectés pour
- trouver le MDomain qui correspond à un serveur virtuel. Les
- recouvrements sont automatiquement détectés, même si vous n'avez
- ajouté qu'un des noms à un MDomain.
+ Le mode `all` correspond au comportement de toutes les versions
+ précédentes. <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et
+ <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> sont inspectés
+ pour trouver le <code class="directive"><a href="#mdomain">MDomain</a></code>
+ qui correspond à un serveur virtuel. Les recouvrements sont
+ automatiquement détectés, même si vous n'avez ajouté qu'un des
+ noms à un MDomain.
</p><p>
Cet automatisme présente cependant des inconvénients avec les
configurations plus complexes. Si vous définissez cette
<p>
Il s'agit d'une extension non standard d'ACME par Let's Encrypt.
</p><p>
- Lets Encrypt prend en charge les profiles de certificat dans
+ Let’s Encrypt prend en charge les profiles de certificat dans
leurs CA. Cette fonctionnalité, entre autres détails, vous
permet de définir la durée de validité des certificats que vous
recevez. Le profile par défaut « classic » conserve la valeur de
profile « shortlived » délivre des certificats dont la durée de
validité est de 6 jours seulement.
</p><p>
- Si vous ne modifiez pas la configuration de votre module mod_md,
+ Si vous ne modifiez pas la configuration de votre module <code class="module"><a href="../mod/mod_md.html">mod_md</a></code>,
vous continuerez à recevoir des certificats d'une durée de
validité de 90 jours. Si vous pensez qu'une durée de validité
plus courte convient mieux à votre situation (et acceptez le
<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>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.64 du serveur HTTP
+ Apache</td></tr>
</table>
<p>
Cette directive permet de contrôler si un <code class="directive"><a href="#mdprofile">MDProfile</a></code> que vous définissez est
déclenchement du renouvellement des certificats à l'aide de
l'extension ACME ARI (rfc9773). Ces renouvellements s'ajoutent à
ceux déclenchés par le mécanisme contrôlé à l'aide de la
- directive <code class="directive">MDRenewWindow</code>.
+ directive <code class="directive"><a href="#mdrenewwindow">MDRenewWindow</a></code>.
</p><p>
ACME ARI permet en quelque sorte à une CA ACME de façonner le
trafic entrant des renouvellements. Plus important cependant,
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
<p>
- Lorsqu'un certificat arrive à expiration, mod_md va
+ Lorsqu'un certificat arrive à expiration, <code class="module"><a href="../mod/mod_md.html">mod_md</a></code> va
tenter d'en obtenir un nouveau signé.
</p><p>
Normalement, les certificats ont une validité de 90 jours, et
Apache</td></tr>
</table>
<p>
- Le nombre d'erreurs consécutives lors du renouvellement d'un
+ Le nombre d'erreurs consécutives lors du renouvellement d'un
certificat avant la sélection d'une autre CA. Ne s'applique
- qu'aux configurations pour lesquelles plusieurs
- <code class="directive">MDCertificateAuthority</code> ont été
+ qu'aux configurations pour lesquelles plusieurs <code class="directive"><a href="#mdcertificateauthority">MDCertificateAuthority</a></code> ont été
spécifiées.
</p>
<div class="directive-section"><h2 id="mdserverstatus">Directive <span id="MDServerStatus">MDServerStatus</span> <a title="Lien permanent" href="#mdserverstatus" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les informations à propos des domaines gérés
- sont ajoutés ou non à server-status.</td></tr>
+ sont ajoutés ou non à <code>server-status</code>.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDServerStatus on|off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDServerStatus on</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MDServerStatus off</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>Expérimental</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
</table>
- <p>
- Le gestionnaire d'Apache "server-status" vous permet de
- configurer une ressource pour monitorer le fonctionnement du
- serveur. Cette ressource inclut maintenant une section indiquant
- tous les domaines gérés avec leur nom DNS, l'état de
- renouvellement du certificat, la durée de vie de ce dernier,
- ainsi que d'autres propriétés fondamentales.
- </p><p>
- Cette directive permet d'activer/désactiver cette ressource.
+ <p>Si cette directive est activée, une section est ajoutée au
+ gestionnaire « <code>server-status</code> » de
+ <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>, qui liste tous les domaines gérés avec
+ leur nom DNS, l'état de renouvellement du certificat, la durée de
+ vie de ce dernier, ainsi que d'autres propriétés fondamentales.
+ </p><p>
+ Comme avec « <code>md-status</code> », la sortie de
+ « <code>server-status</code> » <strong>doit</strong> être
+ protégée de la vue du public en instaurant des restrictions
+ d’autorisation appropriées.
</p>
</div>
Apache</td></tr>
</table>
<p>
- Définissez cette directive pour utiliser un fichier verrou au
- démarrage du serveur lorsque <code class="directive">MDStoreDir</code>
- est synchronisé avec la configuration du serveur et si les
- certificats renouvelés sont activés.
+ Définissez cette directive pour utiliser un fichier verrou au
+ démarrage du serveur lorsque <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code> est synchronisé avec la
+ configuration du serveur et si les certificats renouvelés sont
+ activés.
</p><p>
Le verrouillage a été implémenté pour les configurations de
- cluster où MDStoreDir appartient à un système de fichiers
+ cluster où <code class="directive"><a href="#mdstoredir">MDStoreDir</a></code> appartient à un système de fichiers
partagé. L'activation des certificats renouvelés sera alors
protégée lorsque plusieurs noeuds du cluster sont redémarrés ou
reconfigurés simultanément ; ceci à condition bien entendu que
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
URI: mod_proxy_beacon.html.en.utf8
Content-Language: en
Content-type: text/html; charset=UTF-8
+
+URI: mod_proxy_beacon.html.fr.utf8
+Content-Language: fr
+Content-type: text/html; charset=UTF-8
<div id="preamble"><h1>Apache Module mod_proxy_beacon</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>Available Languages: </span><a href="../en/mod/mod_proxy_beacon.html" title="English"> en </a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_beacon.html" title="English"> en </a> |
+<a href="../fr/mod/mod_proxy_beacon.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Dynamic Balancer membership where backends announce themselves
to the reverse proxy over unicast UDP datagrams</td></tr>
</div>
</div>
<div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_beacon.html" title="English"> en </a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_beacon.html" title="English"> en </a> |
+<a href="../fr/mod/mod_proxy_beacon.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Licensed under the <a href="https://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/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Report a bug</a></p></div><script><!--//--><![CDATA[//><!--
--- /dev/null
+<!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_beacon - Serveur HTTP Apache Version 2.5</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/">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.5</p>
+<img alt="" src="../images/feather.png"></div>
+<div class="up"><a href="./"><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="../">Version 2.5</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Module Apache mod_proxy_beacon</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_beacon.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_proxy_beacon.html" title="Français"> fr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Inscription dynamique comme membre d’un répartiteur de charge où
+les serveurs dorsaux s’annoncent eux-mêmes au mandataire inverse à l’aide de
+datagrammes UDP unicast</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_beacon_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_proxy_beacon.c</td></tr>
+<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP Apache</td></tr></table>
+<h3>Sommaire</h3>
+
+ <p>Ce module permet à des serveurs dorsaux de <em>s’annoncer eux-mêmes</em>
+ à un mandataire inverse frontal qui les ajoute alors en tant que membre
+ actif (worker) d’un répartiteur de charge de
+ <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Lorsqu’un serveur dorsal cesse de
+ s’annoncer, le mandataire l’enlève de la rotation. Cela permet une gestion
+ autonome (inscriptions et maintenance) de la liste des membres du
+ répartiteur sans avoir à éditer la configuration du mandataire ou piloter le
+ <code>balancer-manager</code> à la main.</p>
+
+ <p>La communication utilise des datagrammes pleinement <strong>unicast
+ UDP</strong> (pas de multicast qui est filtré sur la plupart des réseaux et
+ ne passe pas sur l’Internet public). Les données sont transmises du serveur
+ dorsal vers le mandataire :</p>
+
+ <ul>
+ <li>Le mandataire inverse se lie à un socket UDP et <em>reçoit</em> les
+ données sur une adresse fixe (<code class="directive">ProxyBeaconListen</code>).</li>
+ <li>Chaque serveur dorsal <em>envoie</em> périodiquement un court
+ datagramme d’annonce au mandataire
+ (<code class="directive">ProxyBeaconAddress</code>), indiquant son propre URL
+ routable (<code class="directive">ProxyBeaconAdvertise</code>).</li>
+ </ul>
+
+ <p>Les datagrammes sont envoyés en mode « fire-and-forget » : une annonce
+ perdue est récupérée par la prochaine annonce périodique, et le
+ réordonnancement est rejeté par une vérification d’horodatage par serveur
+ dorsal ; aucune connexion, reconnection ou couche de cadrage n’est donc
+ nécessaire.</p>
+
+ <p>Au niveau du mandataire, la directive
+ <code class="directive">ProxyBeaconBalancer</code> nomme le répartiteur de charge
+ auquel des serveurs dorsaux qui se sont annoncés ont été ajoutés. Les
+ changements d’appartenance s’appliquent en utilisant le même mécanisme
+ interne que l’interface web <code>balancer-manager</code> ; un serveur
+ dorsal ajouté de cette manière se comporte donc exactement comme un
+ <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> configuré
+ statiquement ou ajouté manuellement, et est visible et éditable dans
+ <code>balancer-manager</code>.</p>
+
+ <p>Ce module nécessite les services de <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> et
+ <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>. Le travail d’arrière-plan (écoute,
+ publication, ajout et suppression de membres) est effectué par un seul
+ processus enfant de <code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code> ; il n’est donc pas
+ disponible avec le comportement du MPM <code>prefork</code> où ce singleton
+ ne peut pas s’exécuter.</p>
+
+<div class="warning"><h3>Authentification</h3>
+ <p>Tout hôte qui peut atteindre le port de réception du mandataire peut
+ aussi annoncer un URL de serveur dorsal arbitraire et faire que le
+ mandataire envoie le trafic du client à ce dernier (et une adresse source
+ UDP est facile à usurper). Définissez la directive
+ <code class="directive">ProxyBeaconSecret</code> à la même valeur sur le mandataire
+ et sur chaque serveur dorsal de façon que les annonces soient authentifiées
+ avec un message-authentication code (MAC) avec clé et un horodatage.
+ Lorsqu’une phrase secrète est configurée, le mandataire rejette toute
+ annonce qui n’est pas valablement signée et récente. Si aucune phrase
+ secrète n’est configurée, le canal n’est <strong>pas authentifié</strong> et
+ le mandataire journalise un avertissement au démarrage.</p>
+</div>
+
+<div class="note"><h3>Confidentialité</h3>
+ <p>Les annonces sont authentifiées mais non chiffrées ; la charge utile
+ comporte des métadonnées opérationnelles (URLs de serveur dorsal) non
+ chiffrées. La confidentialité du transport (par exemple DTLS)
+ n’est actuellement pas prise en charge et fera l’objet d’une couche
+ séparée.</p>
+</div>
+
+</div>
+<div id="quickview"><h3>Sujets</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif"> <a href="#examples">Exemple d’utilisation</a></li>
+</ul><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconaddress">ProxyBeaconAddress</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconadvertise">ProxyBeaconAdvertise</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconbalancer">ProxyBeaconBalancer</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconinterval">ProxyBeaconInterval</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconlisten">ProxyBeaconListen</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconmaxskew">ProxyBeaconMaxSkew</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeaconsecret">ProxyBeaconSecret</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#proxybeacontimeout">ProxyBeaconTimeout</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_beacon">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_proxy_beacon">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>
+<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></li>
+<li><code class="module"><a href="../mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code></li>
+<li><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</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">Exemple d’utilisation <a title="Lien permanent" href="#examples" class="permalink">¶</a></h2>
+
+
+ <p>L’exemple suivant configure un répartiteur de charge à enregistrement
+ autonome. Les serveurs dorsaux n’ont pas besoin de se connaître entre eux et
+ le mandataire n’a pas besoin d’entrées <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code> prédéclarées — seulement
+ un répartiteur vide avec de la place pour grossir.</p>
+
+ <p>Sur le <strong>mandataire inverse</strong> :</p>
+ <pre class="prettyprint lang-config"># Réception des annonces des serveurs dorsaux sur
+# l’interface réseau de cluster (UDP).
+ProxyBeaconListen 0.0.0.0:5555
+ProxyBeaconSecret "une_grande_phrase_secrète_partagée_aléatoire_de_cluster"
+ProxyBeaconBalancer cluster
+
+# Un serveur dorsal est éjecté de la rotation s’il ne
+# s’annonce pas pendant 30 secondes.
+ProxyBeaconTimeout 30
+
+# Un répartiteur initialement vide avec des emplacements
+# libres pour les membres dynamiques.
+<Proxy balancer://cluster>
+ ProxySet growth=16
+</Proxy>
+ProxyPass "/" "balancer://cluster/"
+ProxyPassReverse "/" "balancer://cluster/"</pre>
+
+
+ <p>Sur chaque <strong>serveur dorsal</strong> :</p>
+ <pre class="prettyprint lang-config"># Annoncer au mandataire cette adresse routable de serveur dorsal
+# toutes les 10 secondes (UDP).
+ProxyBeaconAddress proxy.example.com:5555
+ProxyBeaconAdvertise http://10.0.0.5:8080
+ProxyBeaconSecret "une_grande_phrase_secrète_partagée_aléatoire_de_cluster"
+ProxyBeaconInterval 10</pre>
+
+
+ <p>Au démarrage d’un serveur dorsal, ce dernier commence à s’annoncer. Le
+ mandataire vérifie la validité de chaque annonce à l’aide de la phrase
+ secrète, ajoute <code>http://10.0.0.5:8080</code> comme membre de
+ <code>balancer://cluster</code>, et l’active. Si ce serveur dorsal arrête de
+ s’annoncer pendant une durée supérieure à la valeur de la directive
+ <code class="directive">ProxyBeaconTimeout</code>, le mandataire le désactive (en
+ l’enlevant de la rotation) ; si le serveur dorsal s’annonce à nouveau, il
+ est réactivé.</p>
+
+ <div class="note">
+ <p>Un serveur dorsal ajouté à l’exécution occupe un des emplacements
+ du répartiteur pour la durée de vie du processus serveur ; plutôt que de le
+ supprimer lorsqu’il arrête de s’annoncer, il est désactivé, suivant en cela
+ le comportement du <code>balancer-manager</code> (qui peut ajouter des
+ membres à l’exécution, mais pas les supprimer). La taille du répartiteur
+ <code>augmente</code> jusqu’au nombre maximal de serveurs dorsaux que vous
+ souhaitez enregistrer.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconaddress">Directive <span id="ProxyBeaconAddress">ProxyBeaconAddress</span> <a title="Lien permanent" href="#proxybeaconaddress" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse du mandataire inverse à laquelle un serveur dorsal envoie
+ses annonces</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconAddress <em>address:port</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconAddress</code> marque un serveur
+ comme <em>émetteur</em> d’annonces (un serveur dorsal). Ce dernier envoie
+ des datagrammes UDP à l’adresse <code class="directive">ProxyBeaconListen</code> du
+ mandataire sous la forme <em>adresse:port</em>, par exemple
+ <code>proxy.example.com:5555</code> (un préfixe de protocole tel que
+ <code>tcp://</code> est accepté, mais ignoré). Étant donné que UDP est sans
+ connexion, un serveur dorsal peut être démarré avant que le mandataire soit
+ disponible : les datagrammes seront simplement supprimés et continueront à
+ être envoyés selon l’intervalle spécifié.</p>
+
+ <p>Utilisez la directive <code class="directive">ProxyBeaconAdvertise</code> pour
+ spécifier l’URL routable qu’annonce le serveur dorsal. Les
+ directives <code class="directive">ProxyBeaconListen</code> et
+ <code class="directive">ProxyBeaconAddress</code> sont mutuellement exclusives sur
+ un même serveur.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconadvertise">Directive <span id="ProxyBeaconAdvertise">ProxyBeaconAdvertise</span> <a title="Lien permanent" href="#proxybeaconadvertise" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L’URL routable qu’annonce le serveur dorsal au mandataire inverse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconAdvertise <em>url</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconAdvertise</code> permet de
+ définir l’adresse à laquelle le serveur dorsal peut être atteint (par
+ exemple <code>http://10.0.0.5:8080</code>) et que le mandataire ajoutera en
+ tant que membre <code class="directive"><a href="../mod/mod_proxy.html#balancermember">BalancerMember</a></code>.
+ Il doit s’agir d’un URL complet comme <code>scheme://host[:port]</code> que
+ le mandataire pourra atteindre — pas l’adresse d’écoute locale —
+ et qui sera validé lors de l’analyse de la configuration.</p>
+
+ <p>Cette directive est utilisée sur un serveur dorsal avec la directive
+ <code class="directive">ProxyBeaconAddress</code>. Si elle est omise, le serveur
+ dorsal envoie quand-même un signe de vie, mais pas d’URL ; le mandataire
+ journalise alors l’annonce sans ajouter de membre.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconbalancer">Directive <span id="ProxyBeaconBalancer">ProxyBeaconBalancer</span> <a title="Lien permanent" href="#proxybeaconbalancer" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du répartiteur de charge auquel les serveurs dorsaux
+annoncés sont ajoutés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconBalancer <em>name</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconBalancer</code> permet de nommer
+ le répartiteur, sur le mandataire inverse, dans lequel les serveurs dorsaux
+ annoncés sont insérés en tant que membres. Indiquez seulement le nom du
+ répartiteur (par exemple <code>cluster</code> pour
+ <code>balancer://cluster</code>) ; le préfixe <code>balancer://</code> est
+ accepté et supprimé.</p>
+
+ <p>Le répartiteur nommé doit exister et disposer d’emplacements vides.
+ Déclarez-le dans un bloc <code class="directive"><a href="../mod/mod_proxy.html#<proxy>"><Proxy></a></code> avec un paramètre
+ <code>growth</code> (ou utilisez la valeur de la directive <code class="directive"><a href="../mod/mod_proxy.html#balancergrowth">BalancerGrowth</a></code>) de façon qu’il y ait des
+ emplacements libres pour l’ajout dynamique de membres. Cette directive est
+ utilisée conjointement avec la directive
+ <code class="directive">ProxyBeaconListen</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconinterval">Directive <span id="ProxyBeaconInterval">ProxyBeaconInterval</span> <a title="Lien permanent" href="#proxybeaconinterval" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Périodicité de l’envoi d’annonces par le serveur dorsal</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconInterval <em>interval</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBeaconInterval 5</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconInterval</code> permet de définir
+ la périodicité à laquelle un serveur dorsal (un serveur
+ <code class="directive">ProxyBeaconAddress</code>) envoie ses annonces. Elle utilise
+ la syntaxe de la directive <a href="directive-dict.html#Syntax">time-interval</a> et sa valeur s’exprime
+ par défaut en secondes ; sa valeur par défaut est 5 secondes.</p>
+
+ <p>L’intervalle doit être significativement plus petit que la valeur de la
+ directive <code class="directive">ProxyBeaconTimeout</code>, de façon qu’une perte
+ occasionnelle ou qu’une annonce retardée ne provoquent pas l’éviction d’un
+ serveur dorsal opérationnel.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconlisten">Directive <span id="ProxyBeaconListen">ProxyBeaconListen</span> <a title="Lien permanent" href="#proxybeaconlisten" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adresse sur laquelle le mandataire inverse reçoit les annonces des
+serveurs dorsaux</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconListen [<em>address</em>][:<em>port</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconListen</code> marque un serveur
+ comme <em>récepteur</em> « phare » (le mandataire inverse). Il lie un socket
+ UDP à l’adresse spécifiée, par exemple <code>0.0.0.0:5555</code> pour
+ effectuer la réception sur toutes les interfaces. Un préfixe de protocole
+ (tel que <code>tcp://</code>) est accepté et ignoré.</p>
+
+ <p>L’adresse et le port sont facultatifs et, s’ils sont omis, sont hérités
+ de l’adresse et du port de ce serveur (ses directives <code class="directive"><a href="../mod/core.html#listen">Listen</a></code> et <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code>). Si aucun argument n’est fourni,
+ l’écouteur du « phare » lie les propres adresse et port du serveur ; si
+ seule l’adresse est donnée, le port est hérité, et ainsi de suite. Étant
+ donné que UDP et TCP sont des espaces de port indépendants, lier le socket
+ du « phare » au port du serveur n’entre <em>pas</em> en collision avec
+ l’écouteur TCP du serveur — faisant que le canal du « phare » partage
+ le point de terminaison du service, qui identifie aussi le mandataire auprès
+ des serveurs dorsaux avec son adresse réelle (comme l’écouteur effectue ses
+ liens dans un processus enfant non privilégié, un port privilégié comme 80
+ ou 443 ne peut pas être partagé de cette manière ; n’utilisez le port du
+ serveur que s’il est non privilégié).</p>
+
+ <p>Les serveurs dorsaux envoient leurs annonces à l’adresse spécifiée par la
+ directive <code class="directive">ProxyBeaconAddress</code>. Cette dernière doit
+ être utilisée conjointement avec la directive
+ <code class="directive">ProxyBeaconBalancer</code> ; dans le cas contraire, les
+ annonces sont reçues et journalisées, mais aucun membre n’est ajouté. Les
+ directives <code class="directive">ProxyBeaconListen</code> et
+ <code class="directive">ProxyBeaconAddress</code> sont mutuellement exclusives sur
+ un même serveur.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconmaxskew">Directive <span id="ProxyBeaconMaxSkew">ProxyBeaconMaxSkew</span> <a title="Lien permanent" href="#proxybeaconmaxskew" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximal autorisé d’une annonce signée</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconMaxSkew <em>interval</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconMaxSkew</code> permet de définir
+ la fenêtre anti-réémission utilisée lorsque la directive
+ <code class="directive">ProxyBeaconSecret</code> est configurée : le mandataire
+ rejette toute annonce dont l’horodatage signé diffère du temps actuel d’une
+ valeur supérieure à celle de la directive
+ <code class="directive">ProxyBeaconMaxSkew</code>, et cela dans les deux directions.
+ Cette directive utilise la syntaxe de la directive <a href="directive-dict.html#Syntax">time-interval</a> et sa valeur s’exprime
+ par défaut en secondes.</p>
+
+ <p>Si elle n’est pas définie, sa valeur par défaut est de 30 secondes. Une
+ fenêtre plus large tolère des écarts d’horloge plus grands entre les hôtes ;
+ une fenêtre plus petite restreint la tolérance sur la vérification de
+ fraîcheur. Notez que la vérification de la croissance stricte des
+ horodatages d’un même serveur (voir la directive
+ <code class="directive">ProxyBeaconSecret</code>) bloque les réémissions, quelle que
+ soit la valeur de cette fenêtre. Cette directive est utilisée au niveau du
+ mandataire.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeaconsecret">Directive <span id="ProxyBeaconSecret">ProxyBeaconSecret</span> <a title="Lien permanent" href="#proxybeaconsecret" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Phrase secrète partagée à l’avance pour authentifier les annonces
+des serveurs dorsaux</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconSecret <em>secret</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconSecret</code> permet de définir
+ une phrase secrète partagée à l’avance au sein de la grappe de serveurs.
+ Elle doit être définie avec la <em>même</em> valeur sur le mandataire
+ inverse et sur chaque serveur dorsal. Le serveur dorsal (l’émetteur) signe
+ chaque annonce avec un message-authentication code (un SipHash MAC) avec
+ clé, dérivé de la phrase secrète et avec un horodatage ; le mandataire (le
+ récepteur) recalcule le MAC et vérifie l’horodatage, en rejetant toute
+ annonce falsifiée, usurpée ou réenvoyée. Les messages réenvoyés sont
+ interceptés de deux manières : une fenêtre de fraîcheur (directive
+ <code class="directive">ProxyBeaconMaxSkew</code>) rejette les horodatages anciens,
+ et une vérification pour chaque serveur dorsal rejette toute annonce dont
+ l’horodatage n’avance pas strictement ; ainsi, un message capturé et renvoyé
+ (par exemple pour empêcher l’éviction d’un serveur dorsal éteint) sera
+ rejeté.</p>
+
+ <p>Si la directive <code class="directive">ProxyBeaconSecret</code> est définie sur
+ le mandataire, chaque annonce doit comporter un MAC valable et récent, sous
+ peine d’être rejetée. Si les phrases secrètes du mandataire et d’un serveur
+ dorsal diffèrent, les annonces de ce dernier seront rejetées silencieusement
+ (et journalisées), ce qui donne l’impression que le serveur dorsal n’a
+ jamais atteint le répartiteur de charge.</p>
+
+ <p>Si aucune phrase secrète n’est configurée, le canal n’est pas authentifié
+ et le mandataire émet un avertissement lorsqu’il commence à écouter. Étant
+ donné que la phrase secrète est stockée dans le fichier de configuration,
+ définissez les permissions de ce dernier comme s’il s’agissait d’une clé
+ privée.</p>
+
+ <div class="note"><h3>Synchronisation de l’horloge</h3>
+ <p>La protection contre la réémission basée sur l’horodatage compare le
+ moment de l’annonce avec l’horloge du mandataire ; le mandataire et les
+ serveurs dorsaux doivent donc avoir des horloges correctement synchronisées
+ (par exemple à l’aide de NTP). Voir la directive
+ <code class="directive">ProxyBeaconMaxSkew</code>.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="directive-section"><h2 id="proxybeacontimeout">Directive <span id="ProxyBeaconTimeout">ProxyBeaconTimeout</span> <a title="Lien permanent" href="#proxybeacontimeout" class="permalink">¶</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée maximale de l’absence d’annonce d’un serveur dorsal au bout
+de laquelle le mandataire enlève ce dernier de la rotation</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ProxyBeaconTimeout <em>interval</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ProxyBeaconTimeout 0</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_beacon</td></tr>
+</table>
+ <p>La directive <code class="directive">ProxyBeaconTimeout</code> permet de définir
+ la durée maximale pendant laquelle le mandataire attendra une annonce en
+ provenance d’un serveur dorsal avant de désactiver ce dernier (en l’enlevant
+ de la rotation). Si ce serveur dorsal renvoie une annonce par la suite, il
+ est réactivé. Cette directive utilise
+ la syntaxe de la directive <a href="directive-dict.html#Syntax">time-interval</a> et sa valeur s’exprime
+ par défaut en secondes.</p>
+
+ <p>La valeur par défaut, <code>0</code>, désactive complètement l’éviction :
+ les serveurs dorsaux sont ajoutés lorsqu’ils s’annoncent mais ne sont jamais
+ désactivés automatiquement. Définissez cette directive à un multiple de
+ (quelques fois) la valeur de la directive
+ <code class="directive">ProxyBeaconInterval</code> du serveur dorsal pour mettre en
+ Å“uvre une maintenance autonome des adhésions. Cette directive est définie
+ sur le mandataire.</p>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_beacon.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/mod_proxy_beacon.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/">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>
\ No newline at end of file
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<div class="note"><h3><a id="what_is_matched" name="what_is_matched">What is matched?</a></h3>
-<p>
-The <em>Pattern</em> is matched against the %-decoded URL-path
-(in server context) or the directory-relative path (in
-<a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory context</a>).
-See <a href="../rewrite/intro.html#rewriterule">RewriteRule
-Basics</a> for details on what the pattern is matched against
-in each context.
-</p>
+<ul>
+ <li><p>In <code class="directive"><a href="../mod/core.html#virtualhost">VirtualHost</a></code> context,
+ The <em>Pattern</em> will initially be matched against the part of the
+ URL after the hostname and port, and before the query string (e.g. "/app1/index.html").
+ This is the (%-decoded) <a href="directive-dict.html#Syntax">URL-path</a>.</p></li>
+
+ <li><p>In <a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory context</a>
+ (<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> and .htaccess),
+ the <em>Pattern</em> is matched against only a partial path, for example a request
+ of "/app1/index.html" may result in comparison against "app1/index.html"
+ or "index.html" depending on the directory-path for which the
+ <code class="directive">RewriteRule</code> applies.</p>
+
+ <p>The directory-path to which the rule applies is stripped from the currently mapped
+ filesystem path before comparison (up to and including a trailing slash).
+ The net result of this <a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory</a> prefix stripping is that rules in
+ this context only match against the portion of the currently mapped filesystem path
+ "below" the directory-path to which the rule applies.</p>
+
+ <p>Directives such as <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> and <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, or even the
+ result of previous <code class="directive">RewriteRule</code> substitutions, determine
+ the currently mapped filesystem path.
+ </p>
+ </li>
+
+ <li><p>If you wish to match against the hostname, port, or query string, use a
+ <code class="directive"><a href="#rewritecond">RewriteCond</a></code> with the
+ <code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, or
+ <code>%{QUERY_STRING}</code> variables respectively.</p></li>
+</ul>
</div>
<div class="note"><h3><a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">Per-directory</a> Rewrites</h3>
-<p>
-Using rewrite rules in <a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory
-context</a> requires special attention to how patterns are
-matched and how rule inheritance works. See the
-<a href="../rewrite/htaccess.html">Per-directory Rewrites</a>
-guide for complete details.
-</p>
+<ul>
+<li>The rewrite engine may be used in <a href="../howto/htaccess.html">.htaccess</a> files and in <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> sections, with some additional
+complexity.</li>
+
+<li>To enable the rewrite engine in this context, you need to set
+<code>RewriteEngine On</code> <strong>and</strong>
+at least one of the <code>FollowSymLinks</code> or
+<code>SymLinksIfOwnerMatch</code>
+<code class="directive"><a href="../mod/core.html#options">Options</a></code> must be enabled. Note
+that these options cannot be set in a distributed configuration file
+(<code>.htaccess</code>) unless
+<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> permits it
+in the server configuration.</li>
+
+<li>See the <code class="directive"><a href="#rewritebase">RewriteBase</a></code>
+directive for more information regarding what prefix will be added back to
+relative substitutions.</li>
+
+<li> If you wish to match against the full URL-path in a
+<a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory</a> context
+RewriteRule, use the <code>%{REQUEST_URI}</code> variable in
+a <code class="directive"><a href="#rewritecond">RewriteCond</a></code>.</li>
+
+<li>The removed prefix always ends with a slash, meaning the matching occurs against a string which
+<em>never</em> has a leading slash. Therefore, a <em>Pattern</em> with <code>^/</code> never
+matches in <a class="glossarylink" href="../glossary.html#perdirectory" title="see glossary">per-directory</a> context.</li>
+
+<li>Although rewrite rules are syntactically permitted in <code class="directive"><a href="../mod/core.html#location"><Location></a></code> and <code class="directive"><a href="../mod/core.html#files"><Files></a></code> sections
+(including their regular expression counterparts), this
+should never be necessary and is unsupported. A likely feature
+to break in these contexts is relative substitutions.</li>
+
+<li>The <code class="directive"><a href="../mod/core.html#if">If</a></code> blocks
+follow the rules of the <em>directory</em> context.</li>
+
+<li>By default, mod_rewrite overrides rules when <a href="../sections.html#merging">
+merging sections</a> belonging to the same context. The <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> directive can change this behavior,
+for example using the <em>Inherit</em> setting.</li>
+
+<li>The <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> also regulates the
+behavior of sections that are stated at the same nesting level of the configuration. In the
+following example, by default only the RewriteRules stated in the second
+<code class="directive"><a href="../mod/core.html#if">If</a></code> block
+are considered, since the first ones are overridden. Using <code class="directive"><a href="#rewriteoptions">RewriteOptions</a></code> Inherit forces mod_rewrite to merge the two
+sections and consider both set of statements, rather than only the last one.</li>
+</ul>
+<div class="example"><pre class="prettyprint lang-config"><If "true">
+ # Without RewriteOptions Inherit, this rule is overridden by the next
+ # section and no redirect will happen for URIs containing 'foo'
+ RewriteRule foo http://example.com/foo [R]
+</If>
+<If "true">
+ RewriteRule bar http://example.com/bar [R]
+</If></pre>
+</div>
</div>
<p>For information on <a class="glossarylink" href="../glossary.html#regex" title="see glossary">regular
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1934137:1935375 (outdated) -->
+<!-- English Revision: 1934137:1935382 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
<tr class="odd"><td><a href="mod_md.html#mdretrydelay">MDRetryDelay <var>duration</var></a></td><td> 30s </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Temps d'attente avant de réessayer, doublé à chaque erreur
consécutive</td></tr>
<tr><td><a href="mod_md.html#mdretryfailover">MDRetryFailover <var>number</var></a></td><td> 13 </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Le nombre d'erreurs avant de se tourner vers un autre CA</td></tr>
-<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si les informations à propos des domaines gérés
- sont ajoutés ou non à server-status.</td></tr>
+<tr class="odd"><td><a href="mod_md.html#mdserverstatus">MDServerStatus on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Définit si les informations à propos des domaines gérés
+ sont ajoutés ou non à <code>server-status</code>.</td></tr>
<tr><td><a href="mod_md.html#mdstapleothers">MDStapleOthers on|off</a></td><td> on </td><td>s</td><td>X</td></tr><tr><td class="descr" colspan="4">Active l'agrafage pour les certificats non gérés par
mod_md.</td></tr>
<tr class="odd"><td><a href="mod_md.html#mdstapling">MDStapling on|off</a></td><td> off </td><td>s</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Active l'agrafage pour un ou plusieurs domaines.</td></tr>
<tr><td><a href="mod_proxy.html#proxyasyncidletimeout">ProxyAsyncIdleTimeout <var>time</var>[s]</a></td><td></td><td>svd</td><td>E</td></tr><tr><td class="descr" colspan="4">Délai d’inactivité pour les connexions asynchrones de mandataire</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxybadheader">ProxyBadHeader IsError|Ignore|StartBody</a></td><td> IsError </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Détermine la manière de traiter les lignes d'en-tête
incorrectes d'une réponse</td></tr>
-<tr><td><a href="mod_proxy_beacon.html#proxybeaconaddress">ProxyBeaconAddress <em>address:port</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Address of the reverse proxy to which a backend sends its
-announcements</td></tr>
-<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconadvertise">ProxyBeaconAdvertise <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">The routable URL a backend announces to the reverse proxy</td></tr>
-<tr><td><a href="mod_proxy_beacon.html#proxybeaconbalancer">ProxyBeaconBalancer <em>name</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Name of the balancer that announced backends are added to</td></tr>
-<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconinterval">ProxyBeaconInterval <em>interval</em></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How often a backend publishes its announcement</td></tr>
-<tr><td><a href="mod_proxy_beacon.html#proxybeaconlisten">ProxyBeaconListen [<em>address</em>][:<em>port</em>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Address on which the reverse proxy receives backend
-beacons</td></tr>
-<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconmaxskew">ProxyBeaconMaxSkew <em>interval</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Maximum allowed age of a signed announcement</td></tr>
-<tr><td><a href="mod_proxy_beacon.html#proxybeaconsecret">ProxyBeaconSecret <em>secret</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Pre-shared secret used to authenticate announcements</td></tr>
-<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeacontimeout">ProxyBeaconTimeout <em>interval</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">How long the proxy waits, without an announcement, before a backend
-is taken out of rotation</td></tr>
+<tr><td><a href="mod_proxy_beacon.html#proxybeaconaddress">ProxyBeaconAddress <em>address:port</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adresse du mandataire inverse à laquelle un serveur dorsal envoie
+ses annonces</td></tr>
+<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconadvertise">ProxyBeaconAdvertise <em>url</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">L’URL routable qu’annonce le serveur dorsal au mandataire inverse</td></tr>
+<tr><td><a href="mod_proxy_beacon.html#proxybeaconbalancer">ProxyBeaconBalancer <em>name</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Le nom du répartiteur de charge auquel les serveurs dorsaux
+annoncés sont ajoutés</td></tr>
+<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconinterval">ProxyBeaconInterval <em>interval</em></a></td><td> 5 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Périodicité de l’envoi d’annonces par le serveur dorsal</td></tr>
+<tr><td><a href="mod_proxy_beacon.html#proxybeaconlisten">ProxyBeaconListen [<em>address</em>][:<em>port</em>]</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Adresse sur laquelle le mandataire inverse reçoit les annonces des
+serveurs dorsaux</td></tr>
+<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeaconmaxskew">ProxyBeaconMaxSkew <em>interval</em></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Age maximal autorisé d’une annonce signée</td></tr>
+<tr><td><a href="mod_proxy_beacon.html#proxybeaconsecret">ProxyBeaconSecret <em>secret</em></a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Phrase secrète partagée à l’avance pour authentifier les annonces
+des serveurs dorsaux</td></tr>
+<tr class="odd"><td><a href="mod_proxy_beacon.html#proxybeacontimeout">ProxyBeaconTimeout <em>interval</em></a></td><td> 0 </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Durée maximale de l’absence d’annonce d’un serveur dorsal au bout
+de laquelle le mandataire enlève ce dernier de la rotation</td></tr>
<tr><td><a href="mod_proxy.html#proxyblock">ProxyBlock *|<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>
[<var>nom d'hôte</var>|<var>nom d'hôte partiel</var>]...</a></td><td></td><td>sv</td><td>E</td></tr><tr><td class="descr" colspan="4">Interdit les requêtes mandatées vers certains hôtes</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxydomain">ProxyDomain <var>Domaine</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Nom de domaine par défaut pour les requêtes
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>skdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>skdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
must succeed for the enclosing directive to not fail.</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewritebase">RewriteBase <em>URL-path</em></a></td><td></td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets the base URL for per-directory rewrites</td></tr>
<tr><td><a href="mod_rewrite.html#rewritecond"> RewriteCond
- <em>TestString</em> <em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
+ <em>TestString</em> [!]<em>CondPattern</em> [<em>flags</em>]</a></td><td></td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Defines a condition under which rewriting will take place
</td></tr>
<tr class="odd"><td><a href="mod_rewrite.html#rewriteengine">RewriteEngine on|off</a></td><td> off </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Enables or disables runtime rewriting engine</td></tr>
<tr><td><a href="mod_rewrite.html#rewritemap">RewriteMap <em>MapName</em> <em>MapType</em>:<em>MapSource</em>
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_6.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/new_features_2_6.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document décrit quelques changements majeurs entre les version 2.4 et
2.6 du serveur HTTP Apache. Pour les nouvelles fonctionnalités apparues dans
<li><img alt="" src="./images/down.gif"> <a href="#newmods">Nouveaux modules</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#module">Évolutions des module</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#programs">Évolutions des programmes</a></li>
-<li><img alt="" src="./images/down.gif"> <a href="#documentation">Documentation</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#developer">Modifications pour le développeur de modules</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<dt>Options de la directive <code>Listen</code></dt>
<dd>La directive <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> prend
maintenant en charge un argument facultatif <code>options=...</code>,
- permettant de spécifier des options de socket par écouteur.</dd>
+ permettant de spécifier des options de socket par écouteur, en particulier
+ <code>multipathtcp</code> pour activer TCP multi-chemin s’il est pris en
+ charge par la plateforme.</dd>
+ <dt>Filtrage et complètement de saisie asynchrones</dt>
+ <dd>La nouvelle directive <code class="directive"><a href="./mod/core.html#asyncfilter">AsyncFilter</a></code>
+ permet de déclarer les types de filtre qui prennent en charge la gestion
+ asynchrone, et la prise en charge du complètement de saisie asynchrone a
+ été étendue à l'ensemble du noyau. Cela étaie la description de la gestion
+ asynchrone des serveurs mandataires et des WebSockets ci-après.</dd>
+
+ <dt>Contrôles de la stricte conformité à HTTP/1.1</dt>
+ <dd>De nouvelles directives du noyau permettent un contrôle plus fin de la
+ conformité à HTTP/1.1 : <code class="directive"><a href="./mod/core.html#httpexpectstrict">HttpExpectStrict</a></code> contrôle si un code
+ <code>417</code> est renvoyé lorsqu’un client omet une prévision
+ <code>100-Continue</code>, et <code class="directive"><a href="./mod/core.html#httpcontentlengthheadzero">HttpContentLengthHeadZero</a></code> contrôle la gestion de
+ <code>Content-Length</code> pour les requêtes <code>HEAD</code>.</dd>
+
+ <dt>Outrepassement du niveau de journalisation en fontion du contexte</dt>
+ <dd>La nouvelle directive <code class="directive"><a href="./mod/core.html#logleveloverride">LogLevelOverride</a></code> permet d’outrepasser le niveau
+ de journalisation pour des adresses IP clientes individuelles, facilitant
+ ainsi le débogage ciblé sur un serveur en fonctionnement.</dd>
+
<dt>Activation du socket <code>systemd</code></dt>
<dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> peut maintenant être configuré pour démarrer
via l’<a href="https://www.freedesktop.org/software/systemd/man/systemd.socket.html">l’activation
<h2 id="newmods">Nouveaux modules <a title="Lien permanent" href="#newmods" class="permalink">¶</a></h2>
<dl>
+ <dt><code class="module"><a href="./mod/mod_auth_bearer.html">mod_auth_bearer</a></code>, <code class="module"><a href="./mod/mod_autht_core.html">mod_autht_core</a></code>,
+ <code class="module"><a href="./mod/mod_autht_jwt.html">mod_autht_jwt</a></code></dt>
+ <dd>Un nouveau cadriciel de fournisseur de jeton d’authentification
+ (<em>autht</em>) a été ajouté en plus des piles de fournisseurs
+ authn/authz existantes. <code class="module"><a href="./mod/mod_auth_bearer.html">mod_auth_bearer</a></code> implémente
+ l’authentification à jeton <code>Bearer</code> de la <a href="https://www.rfc-editor.org/rfc/rfc6750">RFC 6750</a> en
+ tant que frontal (semblable à <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code>),
+ <code class="module"><a href="./mod/mod_autht_core.html">mod_autht_core</a></code> héberge l’enregistrement du fournisseur
+ autht et <code class="module"><a href="./mod/mod_autht_jwt.html">mod_autht_jwt</a></code> fournit la signature et la
+ vérification par jeton Web JSON.</dd>
-
+ <dt><code class="module"><a href="./mod/mod_crypto.html">mod_crypto</a></code></dt>
+ <dd>Ce nouveau module peut chiffrer et déchiffrer des corps de requête et
+ de réponse à l’aide de filtres en entrée et en sortie en utilisant les
+ pilotes crypto APR.</dd>
<dt><code class="module"><a href="./mod/mod_journald.html">mod_journald</a></code>, <code class="module"><a href="./mod/mod_syslog.html">mod_syslog</a></code></dt>
<dd>Ces nouveaux modules permettent la prise en charge de la
journalisation vers syslog ou <code>journald</code>.</dd>
+ <dt>mod_log_json</dt>
+ <dd>Ce nouveau module permet une journalisation des accès structurée au
+ format JSON.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_proxy_beacon.html">mod_proxy_beacon</a></code></dt>
+ <dd>Ce nouveau module permet aux serveurs dorsaux des serveurs mandataires
+ inverses de s’annoncer eux-mêmes à l’aide de datagrammes UDP afin qu’ils
+ soient automatiquement ajoutés au répartiteur de charge de leur mandataire
+ frontal.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_allowhandlers.html">mod_allowhandlers</a></code></dt>
+ <dd>Ce nouveau module restreint la liste des gestionnaires qui peuvent
+ s’exécuter dans un certain contexte, fournissant ainsi une couche
+ supplémentaire de contrôle d’accès.</dd>
+
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
maintenant être définie pour enregistrer des informations de clé privée
pour déchiffrer hors-ligne des vidages du protocole SSL/TLS en utilisant
des outils tiers.</li>
+ <li>La nouvelle directive <code class="directive"><a href="./mod/mod_ssl.html#sslpolicy">SSLPolicy</a></code> permet de définir une fois pour
+ toutes un ensemble de définitions SSL nommé et de l’appliquer à
+ plusieurs serveurs virtuels.</li>
</ul></dd>
+ <dt><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="./mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code></dt>
+ <dd>Le mandataire peut maintenant s’exécuter de manière asynchrone sous le
+ MPM event, libérant de ce fait les threads de travail lors de l’attente de
+ serveurs dorsaux lents. Cela inclut la gestion asynchrone des protocoles
+ <code>Upgrade</code>d et des WebSockets, personnalisés à l’aide des
+ nouvelles
+ directives <code class="directive"><a href="./mod/mod_proxy.html#proxyasyncdelay">ProxyAsyncDelay</a></code>,
+ <code class="directive"><a href="./mod/mod_proxy.html#proxyasyncidletimeout">ProxyAsyncIdleTimeout</a></code>,
+ <code>ProxyWebsocketAsyncDelay</code> et
+ <code>ProxyWebsocketIdleTimeout</code>.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_http2.html">mod_http2</a></code></dt>
+ <dd>HTTP/2 prend maintenant en charge du « bootstrap » des WebSockets comme
+ décrit dans la <a href="https://www.rfc-editor.org/rfc/rfc8441">RFC 8441</a> (activé à l’aide de la nouvelle directive
+ <code>H2WebSockets</code>), de la nouvelle directive
+ <code>H2EarlyHint</code> permettant d’ajouter des en-têtes à
+ une réponse <code>103 Early Hints</code> et d’un comptage précis des
+ octets envoyés pour le format de journalisation <code>%O</code>.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code></dt>
+ <dd>WebDAV prend maintenant en charge les quota de répertoire (directive
+ <code class="directive"><a href="./mod/mod_dav_fs.html#davquota">DAVquota</a></code>), les extensions du
+ protocole WebDAV de Microsoft (directive <code class="directive"><a href="./mod/mod_dav.html#davmsext">DAVMSext</a></code>), les directives
+ <code>DAVHonorMtimeHeader</code> et <code>DAVLockDBType</code>, et une
+ conformité accrue de l’ETag fort.</dd>
+
+ <dt>Autres améliorations de modules</dt>
+ <dd><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ajoute la directive <code class="directive"><a href="./mod/mod_autoindex.html#indexforbiddenreturn404">IndexForbiddenReturn404</a></code>,
+ <code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code> ajoute <code>MimeOptions</code> et
+ <code class="module"><a href="./mod/mod_session_cookie.html">mod_session_cookie</a></code> ajoute
+ <code>SessionCookieMaxAge</code>.</dd>
+
<dt><code class="module"><a href="./mod/mod_cgid.html">mod_cgid</a></code></dt>
<dd>Si le serveur a été configuré avec
<code>--enable-cgid-fdpassing</code>, le démon CGI configure la gestion de
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
-<h2 id="documentation">Documentation <a title="Lien permanent" href="#documentation" class="permalink">¶</a></h2>
-
- <dl>
- <dt>Complétez moi</dt>
- <dd>La documentation de <code class="module"><a href="./mod/mod_example.html">mod_example</a></code> "Complétez moi".</dd>
-
- </dl>
- </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
-<div class="section">
<h2 id="developer">Modifications pour le développeur de modules <a title="Lien permanent" href="#developer" class="permalink">¶</a></h2>
<dl>
+ <dt>Séparation entre le noyau et le module <code>http</code></dt>
+
+ <dd>Une grande quantité de code a été déplacée du module <code>http</code>
+ vers le noyau du serveur — en particulier le gestionnaire par
+ défaut, les filtres en entrée et en sortie par défaut et les directives de
+ configuration du noyau — de façon que le serveur puisse fonctionner
+ que le module <code>http</code> soit chargé ou non. Le déplacement de
+ <code>ap_set_etag()</code> depuis le module <code>http</code> vers le
+ noyau était une partie de ce travail.</dd>
+
+ <dt>Nouveaux types de bloc de métadonnées et division du filtre HTTP</dt>
+
+ <dd>Les nouveaux types de bloc de métadonnées <code>REQUEST</code>,
+ <code>RESPONSE</code> et <code>HEADERS</code> ont été ajoutés à l’API,
+ ainsi qu’une nouvelle méthode pour définir les en-têtes de réponse
+ standards <code>Date</code> et <code>Server</code> et des aides au
+ formatage de parties de HTTP/1.x (en-têtes, segments de fin) à réutiliser
+ en dehors du noyau, par exemple dans <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. Le filtre
+ <code>HTTP_IN</code> a été divisé en un filtre HTTP générique et un filtre
+ spécifique à HTTP/1.x <code>HTTP1_BODY_IN</code>, et un nouveau drapeau
+ <code>body_indeterminate</code> sur <code>request_rec</code> indique qu’un
+ corps de requête peut être présent et doit être lu ou supprimé.</dd>
+
+ <dt>Prise en charge d’un ETag fort et notes binaires de requête</dt>
+
+ <dd>Un concept de « notes binaires » (binary notes) a été ajouté à
+ <code>request_rec</code>, permettant la définition des indicateurs de bits
+ compactés sur une requête. La première de ces notes,
+ <code>AP_REQUEST_STRONG_ETAG</code>, fait que les modules forcent la
+ compatibilité d’un ETag fort avec les exigences des RFC telles que celles
+ mandatées par diverses extensions de WebDav. Les nouvelles fonctions
+ <code>ap_make_etag_ex()</code> et <code>ap_set_etag_fd()</code> permettent
+ un contrôle total de la génération des ETag.</dd>
+
<dt>Nouveau type <code>ap_method_mask_t</code></dt>
<dd>Le type <code>ap_method_mask_t</code> a été ajouté et est maintenant
une chaîne <code>const char *</code>. L’argument pool doit maintenant être
non NULL.</dd>
+ <dt>APIs supprimées</dt>
+
+ <dd>Suite à la suppression de l’en-tête <code>Content-MD5</code>, les
+ fonctions <code>ap_md5digest()</code> et <code>ap_md5contextTo64()</code>
+ ont été supprimées.</dd>
+
</dl>
<p>La documentation du développeur contient une <a href="developer/new_api_2_6.html">liste détaillée des changements de l’API</a>.
</p>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Compiler Apache pour Microsoft Windows - Serveur HTTP Apache Version 2.5</title>
+<title>Compiler Apache httpd pour Microsoft Windows - Serveur HTTP Apache Version 2.5</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">
<div class="up"><a href="./"><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="../">Version 2.5</a> > <a href="./">Notes spécifiques à certaines
- plates-formes</a></div><div id="page-content"><div id="preamble"><h1>Compiler Apache pour Microsoft Windows</h1>
+ plates-formes</a></div><div id="page-content"><div id="preamble"><h1>Compiler Apache httpd pour Microsoft Windows</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/platform/win_compiling.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/platform/win_compiling.html" title="Français"> fr </a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Il y a de nombreux points importants à connaître avant de
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
requête pour déterminer le noeud du système de fichier à partir duquel le
<h2 id="documentroot">Racine des documents (DocumentRoot) <a title="Lien permanent" href="#documentroot" class="permalink">¶</a></h2>
<p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
- une requête donnée, consiste à extraire le <a href="directive-dict.html#Syntax">chemin de la requête</a> (la partie de
- l'URL qui suit le nom d'hôte et le port), puis de l'ajouter à la fin de la
- valeur de la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
- définie dans vos fichiers de configuration. Ainsi, les fichiers et
- répertoires situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> constituent l'arborescence de base
- des documents qui seront visibles depuis le web.</p>
+ une requête donnée, consiste à extraire le <a href="directive-dict.html#Syntax">chemin de la requête</a>, puis à
+ l'ajouter à la fin de la valeur de la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers de
+ configuration. Ainsi, les fichiers et répertoires situés en dessous de
+ <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> constituent l'arborescence
+ de base des documents qui seront visibles depuis le web.</p>
<p>Par exemple, si la directive
<code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>