From 3370f733e021fa303f3295231f02b0ad5b6f4c8c Mon Sep 17 00:00:00 2001 From: Vincent Deffontaines <gryzor@apache.org> Date: Mon, 18 Dec 2017 18:50:04 +0000 Subject: [PATCH] Introducing 3 new .fr translations git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1818608 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/mod_journald.xml.fr | 106 +++ docs/manual/mod/mod_journald.xml.meta | 1 + docs/manual/mod/mod_policy.xml.fr | 757 ++++++++++++++++++++++ docs/manual/mod/mod_policy.xml.meta | 1 + docs/manual/mod/mod_proxy_hcheck.xml.fr | 274 ++++++++ docs/manual/mod/mod_proxy_hcheck.xml.meta | 1 + 6 files changed, 1140 insertions(+) create mode 100644 docs/manual/mod/mod_journald.xml.fr create mode 100644 docs/manual/mod/mod_policy.xml.fr create mode 100644 docs/manual/mod/mod_proxy_hcheck.xml.fr diff --git a/docs/manual/mod/mod_journald.xml.fr b/docs/manual/mod/mod_journald.xml.fr new file mode 100644 index 0000000000..88908c6d5f --- /dev/null +++ b/docs/manual/mod/mod_journald.xml.fr @@ -0,0 +1,106 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1675797 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015053001 $ --> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<modulesynopsis metafile="mod_journald.xml.meta"> + +<name>mod_journald</name> +<description>Implémentation du fournisseur de journalisation d'erreurs +"journald"</description> +<status>Extension</status> +<sourcefile>mod_journald.c</sourcefile> +<identifier>journald_module</identifier> + +<summary> + <p>Ce module implémente le fournisseur de journalisation d'erreurs + "journald". Il permet l'enregistrement des messages d'erreur et la + gestion des journaux personnalisés via systemd-journald(8).</p> +</summary> + +<section id="structured"> + <title>Jounalisation structurée</title> + <p>Systemd-journald permet d'effectuer une journalisation + structurée, et autorise donc le filtrage des messages en fonction de + diverses variables. Les variables actuellement supportées sont : + </p> + <dl> + <dt><code>LOG</code></dt> + <dd>Le nom du journal. Pour ErrorLog, la valeur est "error_log". + Pour CustomLog ou TransferLog, la valeur correspond au premier + argument de ces directives.</dd> + <dt><code>REQUEST_HOSTNAME</code></dt> + <dd>Le nom d'hôte tel qu'il est fourni dans l'URI, ou l'en-tête + Host: de la requête.</dd> + <dt><code>REQUEST_USER</code></dt> + <dd>Correspond au nom d'utilisateur si une authentification a eu + lieu.</dd> + <dt><code>REQUEST_USERAGENT_IP</code></dt> + <dd>L'adresse IP de l'agent qui a envoyé la requête.</dd> + <dt><code>REQUEST_URI</code></dt> + <dd>La partie chemin de l'URI, ou "/" si l'URI ne contient pas de + chemin.</dd> + <dt><code>SERVER_HOSTNAME</code></dt> + <dd>Le nom d'hôte du serveur pour lequel le message a été généré.</dd> + </dl> + + <p>Ces variables peuvent par exemple être utilisées pour ne montrer + que les messages concernant un URI particulier via la commande + <code>journalctl</code> : + </p> + + <highlight>journalctl REQUEST_URI=/index.html -a</highlight> + + <p>Pour d'autres exemples, voir la documentation de + systemd-journalctl.</p> +</section> + +<section id="examples"> + <title>Exemples</title> + + <p>Si le système le supporte, il est possible d'utiliser + systemd-journald(8) pour effectuer la journalisation en spécifiant + <code>journald</code> à la place d'un nom de fichier dans la + directive ErrorLog (voir <module>core</module>). + </p> + + <highlight language="config">ErrorLog journald</highlight> + + <p>Spécifier <code>journald</code> comme fournisseur de journal + d'erreurs avec la directive CustomLog (voir + <module>mod_log_config</module>) active la journalisation via + systemd-journald(8) si le système le supporte. + </p> + + <highlight language="config"> +CustomLog "journald" "%h %l %u %t \"%r\" %>s %b" + </highlight> + + <note type="warning"><title>Avertissement en matière de performances</title><p> + Actuellement, systemd-journald n'est pas conçu pour une + jounalisation à haut débit et son utilisation pour la journalisation + des accès peut induire une baisse importante de performances. + </p></note> + +</section> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_journald.xml.meta b/docs/manual/mod/mod_journald.xml.meta index b5c437a975..e5d59c3508 100644 --- a/docs/manual/mod/mod_journald.xml.meta +++ b/docs/manual/mod/mod_journald.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_policy.xml.fr b/docs/manual/mod/mod_policy.xml.fr new file mode 100644 index 0000000000..ff0cac58ca --- /dev/null +++ b/docs/manual/mod/mod_policy.xml.fr @@ -0,0 +1,757 @@ +<?xml version="1.0"?> +<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> +<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> +<!-- English Revision : 1673945 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2015050201 $ --> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<modulesynopsis metafile="mod_policy.xml.meta"> + +<name>mod_policy</name> +<description>Mise en conformité avec le protocole HTTP.</description> +<status>Extension</status> +<sourcefile>mod_policy.c</sourcefile> +<identifier>policy_module</identifier> + +<summary> + <p>Le protocole HTTP recommande aux clients d'être "indulgents pour + ce qu'ils doivent accepter", et aux serveurs d'être "stricts pour ce + qu'ils envoient". Dans certains cas, il peut s'avérer difficile de + déterminer si un serveur ou une application a été mal configuré, + sert un contenu qui ne peut pas être mis en cache ou se comporte de + manière non optimale, car le client HTTP est souvent en mesure de + compenser les défauts du serveur. Ces problèmes peuvent induire une + consommation de bande passante excessive, ou même une interruption + de service suite à une charge trop importante du serveur.</p> + + <p>Le module <module>mod_policy</module> propose un jeu de filtres + qui permettent de tester la conformité du serveur au protocole HTTP. + Ces tests permettent à l'administrateur du serveur de journaliser + les violations, ou même de rejeter une réponse losque certaines + conditions spécifiées se réalisent.</p> + + <p>Il devient ainsi possible de définir des critères de conformité + minimale au protocole HTTP pour développer des applications + sans problème. En outre, il est possible de configurer un + mandataire inverse ou un cache pour qu'il se protège lui-même contre + les serveurs d'origine mal configurés ou les contenus indument + impossible à être mis en cache, ou un mécanisme qui détecte les + erreurs de configuration au sein du serveur lui-même.</p> + +</summary> +<seealso><a href="../filter.html">Les filtres</a></seealso> +<seealso><a href="../compliance.html">Conformité au protocole HTTP</a></seealso> + +<section id="actions"> + <title>Actions</title> + + <p>Si une règle est violée, il possible d'effectuer les actions + suivantes :</p> + + <dl> + <dt><strong>ignore</strong></dt> + <dd>La vérification de la politique de conformité sera désactivée + pour l'espace d'URL spécifié, même si le filtre est présent.</dd> + + <dt><strong>log</strong></dt> + <dd>La vérification de la politique de conformité sera exécutée, et + si une violation est détectée, un avertissement sera enregistré dans + le journal error_log du serveur, et un en-tête <code>Warning</code> + ajouté à la réponse en tant qu'information à destination du client.</dd> + + <dt><strong>enforce</strong></dt> + <dd>La vérification de la politique de conformité sera exécutée, + + The policy check will be executed, and if a violation is detected + an error will be logged to the server error_log, a + <code>Warning</code> header added to the response, and a <code>502 + Bad Gateway</code> will be returned to the client. Optional links to + explanatory documentation can be added to each error message, + detailing the origin of each policy.</dd> + + </dl> + + <p>Il est aussi possible de désactiver toutes les règles pour un + espace d'URL donné, si le besoin s'en fait sentir, via la directive + <directive module="mod_policy">PolicyFilter</directive>.</p> + + <p>En outre, la directive <directive + module="mod_policy">PolicyEnvironment</directive> permet de + spécifier une variable d'environnement qui, si elle est définie, va + court-circuiter les règles ou diminuer leur portée.</p> + +</section> + +<section id="tests"> + <title>Tests de la politique de filtrage</title> + + <p>Les filtres suivants sont disponibles :</p> + + <dl> + <dt><strong><a href="../compliance.html#policytype">POLICY_TYPE</a> + </strong>: Impose la validité des types de contenus</dt> + <dd>La requête peut être rejetée suite à la présence de types de contenus vides + ou syntaxiquement invalides. Les types peuvent aussi être restreints + à une liste pouvant contenir des caractères génériques ? et *.</dd> + + <dt><strong><a href="../compliance.html#policylength">POLICY_LENGTH</a> + </strong>: Impose la présence de l'en-tête Content-Length</dt> + <dd>La longueur des réponses peut être spécifiée de trois manières + différentes : en spécifiant à l'avance une longueur explicite, en + utilisant un codage de morcellement (chunking) pour définir la + longueur, ou en ne spécifiant aucune longueur et en terminant la + requête lorsque son traitement est achevé. L'absence de + spécification d'une longueur de contenu peut affecter la possibilité + de mise en cache de la réponse, et empêcher l'utilisation de la + persistance avec les requêtes de type HTTP/1.0. Ce filtre impose la + présence d'une longueur de contenu explicite dans la réponse.</dd> + + <dt><strong><a href="../compliance.html#policykeepalive">POLICY_KEEPALIVE + </a></strong>: Impose l'option de persistance</dt> + <dd>Moins restrictif que le filtre POLICY_LENGTH, ce filtre impose + la possibilité de persistance de la réponse. Si la réponse n'a pas + de longueur définie à 0 par le protocole, si elle n'est pas une + erreur, et si elle ne contient pas d'en-tête Content-Length ou si + elle est de type HTTP/1.1 et ne contient pas l'en-tête + Content-Encoding: chunked, alors elle sera rejetée.</dd> + + <dt><strong><a href="../compliance.html#policyvary">POLICY_VARY</a> + </strong>: Interdit la présence de certains en-têtes au sein des + en-têtes Vary</dt> + <dd>Si l'en-tête Vary contient un des en-têtes spécifiés, ce filtre + va rejeter la requête. Un cas typique est la présence de l'en-tête + User-Agent dans l'en-tête Vary, ce qui peut être à l'origine d'une + condition de déni de service au niveau du cache.</dd> + + <dt><strong><a href="../compliance.html#policyvalidation"> + POLICY_VALIDATION</a></strong>: Impose la présence d'un en-tête Etag + et/ou Last-Modified</dt> + <dd>La possibilité pour un cache de déterminer si une entité qu'il + contient peut être rafraîchie dépend de la présence d'un en-tête + Etag et/ou Last-Modified pour vérifier si elle est valide. La requête sera + rejetée en cas d'absence de ces deux en-têtes, ou d'une syntaxe + invalide d'un de ces deux en-têtes.</dd> + + <dt><strong><a href="../compliance.html#policyconditional"> + POLICY_CONDITIONAL</a></strong>: Impose un traitement conforme des + en-têtes conditionnels</dt> + <dd>Lorsqu'une requête contient des en-têtes conditonnels, un + serveur doit répondre dans certaines conditions avec un code + <code>304 Not Modified</code> ou <code>412 Precondition + Failed</code>. Il arrive q'un serveur ignore les en-têtes + conditionnels, et cela diminue l'efficacité du mécanisme de mise en + cache HTTP. Ce filtre rejète les requêtes lorsqu'un en-tête + conditionnel était présent, et une réponse 2xx a été renvoyée au + lieu de la réponse 304 ou 412 attendue.</dd> + + <dt><strong><a href="../compliance.html#policynocache">POLICY_NOCACHE</a> + </strong>: Impose la possibilité de mise en cache des réponses</dt> + <dd>Lorsqu'une requête se déclare elle-même impossible à mettre en + cache, elle est rejetée. C'est le cas si elle contient l'un des + en-têtes suivants : + <ul><li><code>Cache-Control: no-cache</code></li> + <li><code>Pragma: no-cache</code></li> + <li><code>Cache-Control: no-store</code></li> + <li><code>Cache-Control: private</code></li> + </ul></dd> + + <dt><strong><a href="../compliance.html#policymaxage">POLICY_MAXAGE</a> + </strong>: Impose une durée de vie minimale</dt> + <dd>Lorsqu'une réponse possède une durée de vie inférieure à la + valeur spécifiée, ou si cette durée de vie est heuristique, la + requête est rejetée. La chronologie de la vérification d'une réponse + est la suivante : + <ul><li>Si <code>s-maxage</code> est présent mais d'une valeur trop + faible; ou</li> + <li>Si <code>max-age</code> est présent mais d'une valeur trop + faible; ou</li> + <li>Si <code>Expires</code> est présent et invalide; ou</li> + <li><code>Date</code> est présent et invalide; ou</li> + <li><code>Expires</code> moins Date est trop faible ; ou</li> + <li>Aucun en-tête <code>s-maxage</code>, <code>maxage</code>, ou + <code>Expires</code>/<code>Date</code> n'est présent</li> + </ul></dd> + + <dt><strong><a href="../compliance.html#policyversion">POLICY_VERSION</a> + </strong>: Impose une version HTTP minimale dans la requête</dt> + <dd>Lorsqu'une requête possède un numéro de version HTTP inférieur + au numéro de version minimum requis, la requête est rejetée. Les + numéros de version suivants sont reconnus : + <ul><li><code>HTTP/1.1</code></li> + <li><code>HTTP/1.0</code></li> + <li><code>HTTP/0.9</code></li> + </ul></dd> + + </dl> + +</section> + +<section id="example"> + <title>Exemple de configuration</title> + + <p>Voici un exemple de configuration qui protège un serveur qui + délivre du contenu statique :</p> + + <highlight language="config"> +<Location "/"> + SetOutputFilter POLICY_TYPE;POLICY_LENGTH;POLICY_KEEPALIVE;POLICY_VARY;POLICY_VALIDATION; \ + POLICY_CONDITIONAL;POLICY_NOCACHE;POLICY_MAXAGE;POLICY_VERSION + + # le contenu peut être quelconque, mais l'en-tête Content-Type doit être + # présent et valide + PolicyType enforce */* + + # rejet si aucune longueur de contenu déclarée + PolicyLength enforce + + # pris en charge par le filtre policy length + PolicyKeepalive ignore + + # rejet si l'en-tête User-Agent aparaît dans les en-têtes Vary + PolicyVary enforce User-Agent + + # la validation est imposée + PolicyValidation enforce + + # les réponses conditionnelles non conformes sont rejetées + PolicyConditional enforce + + # les réponses impossibles à mettre en cache sont rejetées + PolicyNocache enforce + + # la durée de vie doit être au moins d'un jour + PolicyMaxage enforce 86400 + + # le numéro de version de la requête peut être quelconque + PolicyVersion ignore HTTP/1.1 +</Location> + +# désactivation du filtrage pour le répertoire /server-status +<Location "/server-status"> + PolicyFilter off +</Location> + </highlight> + +</section> + +<directivesynopsis> + +<name>PolicyFilter</name> +<description>Active ou désactive le filtrage pour un espace d'URL donné.</description> +<syntax>PolicyFilter <var>on|off</var></syntax> +<default>on</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Commutateur principal qui permet d'activer ou de désactiver le + filtrage pour un espace d'URL donné.</p> + + <example><title>Example</title> + <highlight language="config"> +# activé par défaut +<Location "/"> + PolicyFilter on +</Location> + +# désactivation du filtrage pour le répertoire /server-status +<Location "/server-status"> + PolicyFilter off +</Location> +</highlight> +</example> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyEnvironment</name> +<description>Modification des règles de filtrage en fonction d'une +variable d'environnement.</description> +<syntax>PolicyEnvironment <var>variable</var> <var>log-value</var> <var>ignore-value</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Limite l'action des règles à la journalisation ou les désactive + totalement en fonction de la présence d'une variable d'environnement. Si + la variable spécifiée est présente et égale à la valeur de + l'argument log-value, les erreurs rencontrées par les filtres ne + seront que journalisées. Si la variable spécifiée est présente et + égale à la valeur de l'argument ignore-value, toutes les règles + seront ignorées.</p> + + <example><title>Example</title> + <highlight language="config"> +# limitation de l'action des règles si la variable POLICY_CONTROL +# est présente +PolicyEnvironment POLICY_CONTROL log ignore + </highlight> + </example> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyConditional</name> +<description>Active le filtrage des requêtes conditionnelles.</description> +<syntax>PolicyConditional <var>ignore|log|enforce</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui aurait du être + conditionnelle mais ne l'est pas sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# les réponses conditionnelles non conformes doivent être rejetées +PolicyConditional enforce + </highlight> + </example> + + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyConditionalURL</name> +<description>URL contenant la description de la politique de filtrage +des requêtes conditionnelles.</description> +<syntax>PolicyConditionalURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL de la documentation + décrivant la politique de filtrage des requêtes conditionnelles ; + elle apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyLength</name> +<description>Active le filtrage de la spécification de la longueur du +contenu.</description> +<syntax>PolicyLength <var>ignore|log|enforce</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui ne contient pas + d'en-tête <code>Content-Length</code> sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet suite à l'absence de l'en-tête Content-Length +PolicyLength enforce + </highlight> + </example> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyLengthURL</name> +<description>URL contenant la description de la politique de filtrage de +la spécification de la longueur du contenu.</description> +<syntax>PolicyLengthURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + documentation décrivant la politique de filtrage de la spécification + de la longueur du contenu ; elle apparaîtra dans les messages + d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyKeepalive</name> +<description>Active la politique de persistance.</description> +<syntax>PolicyKeepalive <var>ignore|log|enforce</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête + <code>Content-Length</code>, ni en-tête + <code>Transfer-Encoding</code> de valeur <code>chunked</code> sera + rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet suite a absence d'en-tête Content-Length ou Transfer-Encoding +PolicyKeepalive enforce +</highlight> + </example> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyKeepaliveURL</name> +<description>URL contenant la description de la politique de persistance.</description> +<syntax>PolicyKeepaliveURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de persistance ; elle apparaîtra dans + les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyType</name> +<description>Active la politique des types de contenus.</description> +<syntax>PolicyType <var>ignore|log|enforce</var> <var>type</var> [ <var>type</var> [ ... ]]</syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui ne contient pas + d'en-tête <code>Content-Type</code>, ou dont l'en-tête + <code>Content-Type</code> est mal formé, ou dont l'en-tête + <code>Content-Type</code> contient une valeur qui ne correspond pas + au(x) modèle(s) spécifié(s) sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# impose le type de contenu json ou XML +PolicyType enforce application/json text/xml + </highlight> + </example> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet suite à type de contenu mal formé +PolicyType enforce */* + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyTypeURL</name> +<description>URL contenant la description de la politique des types de +contenu.</description> +<syntax>PolicyTypeURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique des types de contenu ; elle apparaîtra + dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyVary</name> +<description>Active la politique de filtrage de l'en-tête Vary.</description> +<syntax>PolicyVary <var>ignore|log|enforce</var> <var>header</var> [ <var>header</var> [ ... ]]</syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse dont l'en-tête + <code>Vary</code> contient un des en-têtes spécifiés sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet suite à la présence de l'en-tête "User-Agent" dans l'en-tête +# Vary +PolicyVary enforce User-Agent + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyVaryURL</name> +<description>URL contenant la description de la politique de filtrage de +l'en-tête Vary.</description> +<syntax>PolicyVaryURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de filtrage de l'en-tête Vary ; elle + apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyValidation</name> +<description>Active le filtrage de la validation du contenu.</description> +<syntax>PolicyValidation <var>ignore|log|enforce</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui ne contient ni en-tête + <code>ETag</code> valide, ni en-tête <code>Last-Modified</code>, ou + dont la syntaxe d'un de ces deux en-têtes est incorrecte sera + rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet suite à l'absence des en-têtes Etag et/ou Last-Modified +PolicyValidation enforce + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyValidationURL</name> +<description>URL contenant la description de la politique de filtrage de +la validation du contenu.</description> +<syntax>PolicyValidationURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de filtrage de la validation du contenu + ; elle apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyNocache</name> +<description>Active le filtrage des réponses qui se définissent +elles-mêmes comme impossibles à mettre en cache.</description> +<syntax>PolicyNocache <var>ignore|log|enforce</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse qui se définit elle-même + comme impossible à mettre en cache via l'en-tête + <code>Cache-Control</code> ou <code>Pragma</code> sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# une réponse contenant l'en-tête Cache-Control: no-cache sera +# rejetée +PolicyNocache enforce + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyNocacheURL</name> +<description>URL contenant la description de la politique de filtrage +des réponses qui se définissent elles-mêmes comme impossibles à mettre +en cache.</description> +<syntax>PolicyNocacheURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de filtrage des réponses qui se + définissent elles-mêmes comme impossibles à mettre en cache ; elle + apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyMaxage</name> +<description>Active le filtrage de la durée de vie des réponses.</description> +<syntax>PolicyMaxage <var>ignore|log|enforce</var> <var>age</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une réponse dont la durée de vie n'est + pas explicitement spécifiée via un en-tête <code>max-age</code>, + <code>s-maxage</code> ou <code>Expires</code>, ou dont la durée de + vie est inférieure à la valeur donnée sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet des réponses dont la durée de vie est inférieure à une +# journée +PolicyMaxage enforce 86400 + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyMaxageURL</name> +<description>URL contenant la description de la politique de filtrage +des réponses en fonction de leur durée de vie.</description> +<syntax>PolicyMaxageURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de filtrage des réponses en fonction de + leur durée de vie ; elle apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyVersion</name> +<description>Active le filtrage des requêtes en fonction du numéro de +version HTTP.</description> +<syntax>PolicyVersion <var>ignore|log|enforce</var> <var>HTTP/0.9|HTTP/1.0|HTTP/1.1</var></syntax> +<default>ignore</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Avec l'argument enforce, une requête dont le numéro de version + HTTP est inférieur à la valeur spécifiée sera rejetée.</p> + + <example><title>Exemple</title> + <highlight language="config"> +# rejet des requêtes dont le numéro de version HTTP est inférieur à +# HTTP/1.1 +PolicyVersion enforce HTTP/1.1 + </highlight> + </example> + +</usage> + +</directivesynopsis> + +<directivesynopsis> + +<name>PolicyVersionURL</name> +<description>URL contenant la description de la politique de filtrage +des requêtes en fonction du numéro de version HTTP.</description> +<syntax>PolicyVersionURL <var>url</var></syntax> +<default>none</default> +<contextlist><context>server config</context><context>virtual host</context> +<context>directory</context></contextlist> +<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP +Apache.</compatibility> + +<usage> + <p>Cette directive permet de spécifier l'URL contenant la + description de la politique de filtrage des requêtes en fonction du + numéro de version HTTP ; elle apparaîtra dans les messages d'erreur.</p> +</usage> + +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_policy.xml.meta b/docs/manual/mod/mod_policy.xml.meta index 4198cf4ed1..751487a813 100644 --- a/docs/manual/mod/mod_policy.xml.meta +++ b/docs/manual/mod/mod_policy.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> diff --git a/docs/manual/mod/mod_proxy_hcheck.xml.fr b/docs/manual/mod/mod_proxy_hcheck.xml.fr new file mode 100644 index 0000000000..27ebe78f68 --- /dev/null +++ b/docs/manual/mod/mod_proxy_hcheck.xml.fr @@ -0,0 +1,274 @@ +<?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: 1817908 --> +<!-- French translation : Lucien GENTIS --> +<!-- $LastChangedRevision: 2017062501 $ --> + + +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<modulesynopsis metafile="mod_proxy_hcheck.xml.meta"> + +<name>mod_proxy_hcheck</name> +<description>Check up dynamique des membres du groupe de répartition de charge +(équipiers) pour <module>mod_proxy</module></description> +<status>Extension</status> +<sourcefile>mod_proxy_hcheck.c</sourcefile> +<identifier>proxy_hcheck_module</identifier> +<compatibility>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</compatibility> + +<summary> + <p>Ce module permet d'effectuer un check up dynamique des membres du groupe + de répartition de charge (équipiers). Ce check up peut être activé pour un + ou plusieurs équipiers et il est indépendant des requêtes de mandataire + inverse proprement dites.</p> + + <p>Pour fonctionner, ce module <em>nécessite</em> le chargement préalable de + <module>mod_watchdog</module>.</p> + +<note><title>Paramètres</title> + <p>Le mécanisme de check up est activé via l'utilisation de paramètres + supplémentaires de BalancerMember configurés de manière standard via la + directive <directive module="mod_proxy">ProxyPass</directive> :</p> + + <p>Ce module définit un nouveau drapeau d'état pour BalancerMember : + "<code>C</code>". Lorsque l'équipier est mis hors service suite à un + disfonctionnement déterminé par le module de check up, ce drapeau est activé + et peut être lu (et modifié) via le <code>balancer-manager</code>.</p> + + <table> + <tr><th>Paramètre</th> + <th>Défaut</th> + <th>Description</th></tr> + <tr><td>hcmethod</td> + <td>None</td> + <td>Aucun check up dynamique n'est effectué. Les choix possibles sont : + <table> + <tr><th>Method</th><th>Description</th><th>Note</th></tr> + <tr><td>None</td><td>Aucun check up dynamique effectué</td><td></td></tr> + <tr><td>TCP</td><td>Vérifie qu'un socket vers le serveur + d'arrière-plan peut être créé ; par exemple "es-tu en + état de fonctionner"</td><td></td></tr> + <tr><td>OPTIONS</td><td>Envoie une requête <code>HTTP + OPTIONS</code> au serveur d'arrière-plan</td><td>*</td></tr> + <tr><td>HEAD</td><td>Envoie une requête <code>HTTP + HEAD</code> au serveur d'arrière-plan</td><td>*</td></tr> + <tr><td>GET</td><td>Envoie une requête <code>HTTP + GET</code> au serveur d'arrière-plan</td><td>*</td></tr> +<!-- + <tr><td>CPING</td><td><strong>AJP only</strong> Do <code>CPING/CPONG</code> check</td><td></td></tr> + <tr><td>PROVIDER</td><td>Name of <code>provider</code> to be used to check health</td><td></td></tr> +--> + <tr><td colspan="3"></td></tr> + <tr><td colspan="3">*: si hcexpr n'est pas + utilisé, un retour HTTP 2xx ou 3xx sera + interprété comme un passage avec succès du check + up.</td></tr> + </table> + </td></tr> + <tr><td>hcpasses</td> + <td>1</td> + <td>Nombre de check up à passer avec succès avant de remettre en service + l'équipier</td></tr> + <tr><td>hcfails</td> + <td>1</td> + <td>Nombre de check up échoués avant mettre hors service l'équipier</td></tr> + <tr><td>hcinterval</td> + <td>30</td> + <td>Intervalle entre deux check up en secondes (par défaut effectué + toutes les 30 secondes). Utilise la syntaxe <a + href="directive-dict.html#Syntax">time-interval</a>.</td></tr> + <tr><td>hcuri</td> + <td> </td> + <td>URI supplémentaire à ajouter à l'URL de l'équipier pour le check up.</td></tr> + <tr><td>hctemplate</td> + <td> </td> + <td>Nom du modèle créé via <directive>ProxyHCTemplate</directive> à + utiliser pour définir les paramètres de check up de cet équipier</td></tr> + <tr><td>hcexpr</td> + <td> </td> + <td>Nom de l'expression créée via <directive>ProxyHCExpr</directive> + utilisée pour analyser les en-têtes de la réponse du check up.<br/> + <em>Si ce paramètre est absent, un état HTTP de 2xx à 3xx est + interprété comme un check up réussi.</em></td></tr> + </table> +</note> + +</summary> +<seealso><module>mod_proxy</module></seealso> + +<section id="examples"> + + <title>Exemples d'utilisation</title> + <p>L'exemple suivant montre comment configurer le check up pour différents + serveurs d'arrière-plan :</p> + + <!-- This section should probably be extended with more, useful examples --> + <highlight language="config"> +ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/} +ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 + BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3 + BalancerMember http://www4.example.com/ +</Proxy> + +ProxyPass "/" "balancer://foo" +ProxyPassReverse "/" "balancer://foo" +</highlight> + +<p>Dans ce scénario, on teste l'équipier <code>http://www.example.com/</code> en lui +envoyant une requête <code>GET /status.php</code> et en regardant si la réponse +contient la chaîne <em>Under maintenance</em>. Si c'est le cas, le check up est +considéré comme ayant échoué et l'équipier est mis hors service. Ce check up +dynamique est effectué toutes les 30 secondes, ce qui correspond à la valeur par +défaut.</p> + +<p>On teste l'équipier <code>http://www2.example.com/</code> en lui envoyant +simplement une requête <code>HEAD</code> toutes les 10 secondes et en vérifiant +que la réponse HTTP est bien un code d'état de 2xx, 3xx ou 4xx. On teste +l'équipier <code>http://www3.example.com/</code> en vérifiant simplement toutes +les 5 secondes que le socket vers ce serveur est bien opérationnel. Si ce +serveur est marqué "hors service", il lui faudra 2 check up réussis pour être +réactivé et participer à nouveau à la répartition de charge. Si à ce moment-là +il échoue à 3 check up successifs, il sera à nouveau mis hors service. Enfin, +l'équipier <code>http://www4.example.com/</code> ne fait l'objet d'aucun check +up.</p> + +</section> + +<directivesynopsis> +<name>ProxyHCExpr</name> +<description>Crée et nomme une expression conditionnelle à utiliser pour +déterminer la santé d'un serveur d'arrière-plan en fonction de sa valeur.</description> +<syntax>ProxyHCExpr name {ap_expr expression}</syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>ProxyHCExpr</directive> permet de créer et nommer + une expression conditionnelle dont la valeur calculée en fonction des + en-têtes de la réponse du serveur d'arrière-plan permettra d'évaluer la + santé de ce dernier. Cette expression nommée peut alors être assignée aux + serveurs d'arrière-plan via le paramètre <code>hcexpr</code>.</p> + + <example><title>ProxyHCExpr: interprète les réponses 2xx/3xx/4xx comme des + check up réussis</title> + <highlight language="config"> +ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10 +</Proxy> + </highlight> + </example> + + <note> + L'<a href="../expr.html">expression</a> peut utiliser des accolades ("{}") + comme délimiteurs en plus des guillemets normaux. + </note> + + <p>Si l'on utilise une méthode de check up (par exemple <code>GET</code>) + qui génère un corps de réponse, ce corps peut lui-même être ausculté via + <code>ap_expr</code> en utilisant la fonction associée aux expressions + <code>hc()</code> spécifique à ce module.</p> + + <p>Dans l'exemple suivant, on envoie une requête <code>GET</code> au serveur + d'arrière-plan, et si le corps de la réponse contient la chaîne <em>Under + maintenance</em>, ce serveur d'arrière-plan est mis hors service.</p> + + <example><title>ProxyHCExpr: auscultation du corps de la réponse</title> + <highlight language="config"> +ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/} +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www.example.com/ hcexpr=in_maint hcmethod=get hcuri=/status.php +</Proxy> + </highlight> + </example> + + <p><em>NOTE:</em> Comme le corps de la réponse peut être assez grand, il est + recommandé de privilégier un check up basé sur les codes d'état.</p> +</usage> +</directivesynopsis> + + +<directivesynopsis> +<name>ProxyHCTemplate</name> +<description>Crée et nomme un modèle permettant de définir différents +paramètres de check up</description> +<syntax>ProxyHCTemplate name parameter=setting <...></syntax> +<contextlist><context>server config</context><context>virtual host</context> +</contextlist> +<override>FileInfo</override> + +<usage> + <p>La directive <directive>ProxyHCTemplate</directive> permet de créer et + nommer un modèle de paramètres de check up qui peut alors être assigné aux + équipiers via le paramètre <code>hctemplate</code></p> + + <example><title>ProxyHCTemplate</title> + <highlight language="config"> +ProxyHCTemplate tcp5 hcmethod=tcp hcinterval=5 +ProxyPass "/apps" "balancer://foo" + +<Proxy balancer://foo> + BalancerMember http://www2.example.com/ hctemplate=tcp5 +</Proxy> + </highlight> + </example> + +</usage> +</directivesynopsis> + +<directivesynopsis> +<name>ProxyHCTPsize</name> +<description>Définit la taille totale, pour l'ensemble du +serveur, du jeu de threads utilisé pour le check up des +équipiers.</description> +<syntax>ProxyHCTPsize <size></syntax> +<contextlist><context>server config</context> +</contextlist> + +<usage> + <p>Si Apache httpd et APR ont été compilés avec le support des threads, le + module de check up peut confier ce travail à un jeu de threads associé au + processus Watchdog, ce qui permet l'exécution des check up en parallèle. La + directive <directive>ProxyHCTPsize</directive> permet de déterminer la + taille de ce jeu de threads. Une valeur de <code>0</code> signifie qu'aucun + jeu de threads ne sera utilisé, et le check up des différents équipiers sera + alors effectué séquentiellement. La taille par défaut du jeu de threads est + de 16.</p> + + <example><title>ProxyHCTPsize</title> + <highlight language="config"> +ProxyHCTPsize 32 + </highlight> + </example> + +</usage> +</directivesynopsis> + +</modulesynopsis> diff --git a/docs/manual/mod/mod_proxy_hcheck.xml.meta b/docs/manual/mod/mod_proxy_hcheck.xml.meta index a325b81c63..1ac64daac4 100644 --- a/docs/manual/mod/mod_proxy_hcheck.xml.meta +++ b/docs/manual/mod/mod_proxy_hcheck.xml.meta @@ -8,5 +8,6 @@ <variants> <variant>en</variant> + <variant>fr</variant> </variants> </metafile> -- 2.40.0