<div class="example"><p><code>
Listen [2001:db8::a00:20ff:fea7:ccea]:80
</code></p></div>
-
- <div class="warning"><p>Utiliser plusieurs directives <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> qui se chevauchent va générer une erreur fatale qui empêchera le serveur de démarrer.</p>
- <div class="example"><p><code>
- (48)Address already in use: make_sock: could not bind to address [::]:80
- </code></p></div>
+ <div class="warning"><p>Des directives <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>
+ imbriquées provoqueront une erreur fatale qui
+ empêchera le serveur de démarrer.</p>
+
+ <div class="example"><p><code>
+ (48)Address already in use: make_sock: could not bind to address [::]:80
+ </code></p></div>
</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
supprimer des modules.
Les directives de configuration peuvent être incluses de manière
conditionnelle selon la présence ou l'absence d'un module particulier
- en les plaçant dans un bloc <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>.</p>
+ en les plaçant dans un bloc <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>. Les blocs
+ <code class="directive"><IfModule></code> ne sont cependant pas
+ nécessaires et peuvent même dans certains cas masquer l'absence d'un
+ module important.</p>
<p>Pour voir quels modules ont été compilés avec le serveur,
- vous pouvez utiliser l'option de ligne de commande <code>-l</code>.</p>
+ vous pouvez utiliser l'option de ligne de commande <code>-l</code>.
+ En outre, l'option de ligne de commande <code>-M</code> permet de
+ voir quels modules sont chargés dynamiquement.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="scope" id="scope">Portée des directives</a></h2>
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<<<<<<< .mine
-<!--English Revision : 1003217 -->
-=======
<!--English Revision : 965792 -->
->>>>>>> .r1023472
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<div class="section">
<h2><a name="setting" id="setting">Définition des variables d'environnement</a></h2>
- <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
+ <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
<h3><a name="basic-manipulation" id="basic-manipulation">Manipulations de base de l'environnement</a></h3>
les fichiers .htaccess ?</a></h2>
<p>En principe, vous ne devriez utiliser les fichiers
- <code>.htaccess</code> que si vous n'avez pas accès au fichier de
+ <code>.htaccess</code> que lorsque vous n'avez pas accès au fichier de
configuration du serveur principal. Par exemple, la fausse
idée
selon laquelle l'authentification de l'utilisateur devrait toujours
<code>.htaccess</code>, vous pouvez utiliser :</p>
<div class="example"><p><code>
-<Directory /><br />
+<Directory /www/htdocs><br />
<span class="indent">
Allowoverride All<br />
</span>
</Location>
</code></p></div>
+ <div class="note">Dans cet exemple, on considère que le chemin défini par la
+ directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> est
+ <code>/www/htdocs</code>.</div>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
permise.</p>
<div class="example"><p><code>
- [Sat Aug 09 16:19:20 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteLog not allowed here
+ [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
</code></p></div>
<p>Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers <code>.htaccess</code>, soit
<a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/logs.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>Pour véritablement gérer un serveur web,
il est nécessaire de disposer d'un
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Vue d'ensemble</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#security">Avertissement à propos de la sécurité</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#errorlog">Journal des erreurs</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#permodule">Journalisation par module</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#accesslog">Journal des accès</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#rotation">Rotation des journaux</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#piped">Journaux redirigés</a></li>
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
+<h2><a name="permodule" id="permodule">Journalisation par module</a></h2>
+
+
+ <p>La directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> permet
+ de spécifier un niveau de sévérité de journalisation pour chaque
+ module. Vous pouvez ainsi résoudre un problème propre à un module particulier
+ en augmentant son volume de journalisation sans augmenter ce volume
+ pour les autres modules. Ceci est particulièrement utile lorsque
+ vous voulez obtenir des détails sur le fonctionnement de modules
+ comme <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ou <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+ <p>Pour ce faire, vous devez spécifier le nom du module dans votre
+ directive <code class="directive">LogLevel</code> :</p>
+
+ <div class="example"><p><code>
+ LogLevel info rewrite:trace5
+ </code></p></div>
+
+ <p>Dans cet exemple, le niveau de journalisation général est défini
+ à info, et à <code>trace5</code> pour <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+ <div class="note">Cette directive remplace les directives de journalisation par
+ module des versions précédentes du serveur, comme
+ <code>RewriteLog</code>.</div>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+<div class="section">
<h2><a name="accesslog" id="accesslog">Journal des accès</a></h2>
<p>Comme la journalisation conditionnelle, la journalisation redirigée est
un outil très puissant, mais si elle existe, il est préférable d'utiliser
une solution plus simple comme le traitement à posteriori hors ligne.</p>
+
<p>Par défaut, le processus de redirection du journal est lancé sans
invoquer un shell. Pour invoquer un shell, utilisez "<code>|$</code>"
redémarrage. La notation "<code>||</code>" est aussi supportée pour
des raisons de compatibilité avec Apache 2.2 et est équivalente à
"<code>|</code>".</p>
- </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a></h2>
<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>
<p>À mettre en relation avec la création de processus, leur destruction
est définie par la valeur de la directive
- <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>. Sa valeur
+ <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>. Sa valeur
par défaut est <code>0</code>, ce qui signifie qu'il n'y a pas de limite
- au nombre de requêtes q'un processus enfant peut traiter. Si votre
+ au nombre de connexions qu'un processus enfant peut traiter. Si votre
configuration actuelle a cette directive réglée à une valeur très basse,
de l'ordre de <code>30</code>, il est conseillé de l'augmenter de manière
significative. Si vous utilisez SunOs ou une ancienne version de Solaris,
<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent à des répertoires
-du système de fichiers correspondant à une expression rationnelle et à
-leurs sous-répertoires</td></tr>
+du système de fichiers correspondant à une expression rationnelle</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
... </DirectoryMatch></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<p>Les balises <code class="directive"><DirectoryMatch></code>
et <code></DirectoryMatch></code> permettent de regrouper un
ensemble de directives qui ne s'appliqueront qu'au répertoire
- précisé et à ses sous-répertoires, comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
+ précisé, comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
<div class="example"><p><code>
<p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
+ <div class="note"><h3>Compatibilité</h3>
+ Avant la version 2.3.9, cette directive s'appliquait aussi aux
+ sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
+ symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
+ répertoires qui correspondent à l'expression sont affectés par les
+ directives contenues dans la section.
+ </div>
+
+ <div class="note"><h3>slash de fin</h3>
+ Cette directive s'applique aux requêtes pour des répertoires avec
+ ou sans slash de fin ; les expressions contenant un symbole de fin
+ de ligne ($) doivent donc faire l'objet d'une attention
+ particulière.
+ </div>
+
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#directory"><Directory></a></code>
<li>Sur certains systèmes multi-processeurs, la projection en
mémoire peut dégrader les performances du programme
<code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
- <li>S'il fait l'objet d'une projection en mémoire par
- <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
- fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
- erreur de segmentation.</li>
+
</ul>
<p>Pour les configurations de serveur sujettes à ce genre de
problème, il est préférable de désactiver la projection en mémoire
des fichiers servis en spécifiant :</p>
-
+ <li>S'il fait l'objet d'une projection en mémoire par
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
+ fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
+ erreur de segmentation.</li>
<div class="example"><p><code>
EnableMMAP Off
</code></p></div>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
fichiers aux clients</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile On</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.0.44 et
-supérieures</td></tr>
+supérieures. Par défaut à Off depuis la version 2.3.9.</td></tr>
</table>
<p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
peut utiliser le support sendfile du noyau pour transmettre le
certaines cartes réseau lorsqu'on utilise IPv6.</li>
<li>Sous Linux sur Itanium, sendfile peut s'avérer incapable de
traiter les fichiers de plus de 2 Go.</li>
- <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS ou SMB), le
+ <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
+ FUSE), le
noyau peut s'avérer incapable de servir un fichier de ce montage
réseau en passant par son propre cache.</li>
</ul>
- <p>Pour les configurations de serveur sujettes à ce genre de
- problème, il est recommandé de désactiver cette fonctionnalité en
+ <p>Pour les configurations de serveur non sujettes à ce genre de
+ problème, vous pouvez activer cette fonctionnalité en
spécifiant :</p>
<div class="example"><p><code>
- EnableSendfile Off
+ EnableSendfile On
</code></p></div>
- <p>Pour les montages NFS ou SMB, cette fonctionnalité peut être
+ <p>Pour les montages réseau, cette fonctionnalité peut être
explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
</code></p></div>
<p>Si le <var>chemin fichier</var> commence par une barre verticale
- (|), il est considéré comme une commande à lancer pour traiter la
+ "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
journalisation de l'erreur.</p>
<div class="example"><h3>Exemple</h3><p><code>
ErrorLog "|/usr/local/bin/erreurs_httpd"
</code></p></div>
+ <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
+ redirigés</a> pour plus d'informations.</p>
+
<p>L'utilisation de <code>syslog</code> à la place d'un nom de
fichier active la journalisation via syslogd(8) si le système le
supporte. Le dispositif syslog par défaut est <code>local7</code>,
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a> <a name="errorlogformat" id="errorlogformat">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog [connection|request] <var>format</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+</table>
+ <p>La directive <code class="directive">ErrorLogFormat</code> permet de
+ spécifier quelles informations supplémentaires vont être enregistrées
+ dans le journal des erreurs en plus du message habituel.</p>
+
+ <div class="example"><h3>Exemple simple</h3><p><code>
+ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ </code></p></div>
+
+ <p>La spécification de <code>connection</code> ou
+ <code>request</code> comme premier paramètre permet de définir des
+ formats supplémentaires, ce qui a pour effet de journaliser des
+ informations additionnelles lorsque le premier message est
+ enregistré respectivement pour une connexion ou une requête
+ spécifique. Ces informations additionnelles ne sont enregistrées
+ qu'une seule fois par connexion/requête. Si le traitement d'une
+ connexion ou d'une requête ne génère aucun message dans le journal,
+ alors aucune information additionnelle n'est enregistrée.</p>
+
+ <p>Il peut arriver que certains items de la chaîne de format ne
+ produisent aucune sortie. Par exemple, l'en-tête Referer n'est
+ présent que si le message du journal est associé à une requête et s'il
+ est généré à un moment où l'en-tête Referer a déjà été lu par le
+ client. Si aucune sortie n'est générée, le comportement par défaut
+ consiste à supprimer tout ce qui se trouve entre l'espace précédent
+ et le suivant. Ceci implique que la ligne de journalisation est
+ divisée en champs ne contenant pas d'espace séparés par des espaces.
+ Si un item de la chaîne de format ne génère aucune sortie,
+ l'ensemble du champ est omis. Par exemple, si l'adresse distante
+ <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
+ pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
+ enregistrés. Il est possible d'échapper les espaces par un anti-slash
+ afin qu'ils ne soient pas considérés comme séparateurs de champs.
+ La combinaison '% ' (pourcentage espace) est un délimiteur de
+ champ de taille nulle qui ne génère aucune sortie.</p>
+
+ <p>Ce comportement peut être changé en ajoutant des modificateurs à
+ l'item de la chaîne de format. Le modificateur <code>-</code>
+ (moins) provoque l'enregistrement d'un signe moins si l'item
+ considéré ne génère aucune sortie. Pour les formats à enregistrement
+ unique par connexion/requête, il est aussi possible d'utiliser le
+ modificateur <code>+</code> (plus). Si un item ne générant aucune
+ sortie possède le modificateur plus, la ligne dans son ensemble est
+ omise.</p>
+
+ <p>Un modificateur de type entier permet d'assigner un niveau de
+ sévérité à un item de format. L'item considéré ne
+ sera journalisé que si la sévérité du message n'est pas
+ plus haute que le niveau de sévérité spécifié. Les
+ valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
+ (warn) ou 7 (debug).</p>
+
+ <p>Certains items de format acceptent des paramètres supplémentaires
+ entre accolades.</p>
+
+ <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr>
+<tr><td><code>%%</code></td>
+ <td>Le signe pourcentage</td></tr>
+<tr class="odd"><td><code>%...a</code></td>
+ <td>Adresse IP et port distants</td></tr>
+<tr><td><code>%...A</code></td>
+ <td>Adresse IP et port locaux</td></tr>
+<tr class="odd"><td><code>%...{name}e</code></td>
+ <td>Variable d'environnement de requête <code>name</code></td></tr>
+<tr><td><code>%...E</code></td>
+ <td>Etat d'erreur APR/OS et chaîne</td></tr>
+<tr class="odd"><td><code>%...F</code></td>
+ <td>Nom du fichier source et numéro de ligne de l'appel du
+ journal</td></tr>
+<tr><td><code>%...{name}i</code></td>
+ <td>En-tête de requête <code>name</code></td></tr>
+<tr class="odd"><td><code>%...k</code></td>
+ <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
+<tr><td><code>%...l</code></td>
+ <td>Sévérité du message</td></tr>
+<tr class="odd"><td><code>%...L</code></td>
+ <td>Identifiant journal de la requête</td></tr>
+<tr><td><code>%...{c}L</code></td>
+ <td>Identifiant journal de la connexion</td></tr>
+<tr class="odd"><td><code>%...{C}L</code></td>
+ <td>Identifiant journal de la connexion si utilisé dans la
+ portée de la connexion, vide sinon</td></tr>
+<tr><td><code>%...m</code></td>
+ <td>Nom du module qui effectue la journalisation du message</td></tr>
+<tr class="odd"><td><code>%M</code></td>
+ <td>Le message effectif</td></tr>
+<tr><td><code>%...{name}n</code></td>
+ <td>Note de requête <code>name</code></td></tr>
+<tr class="odd"><td><code>%...P</code></td>
+ <td>Identifiant du processus courant</td></tr>
+<tr><td><code>%...T</code></td>
+ <td>Identifiant du thread courant</td></tr>
+<tr class="odd"><td><code>%...t</code></td>
+ <td>L'heure courante</td></tr>
+<tr><td><code>%...{u}t</code></td>
+ <td>L'heure courante avec les microsecondes</td></tr>
+<tr class="odd"><td><code>%...{cu}t</code></td>
+ <td>L'heure courante au format compact ISO 8601, avec les
+ microsecondes</td></tr>
+<tr><td><code>%...v</code></td>
+ <td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr>
+<tr class="odd"><td><code>%...V</code></td>
+ <td>Le nom de serveur du serveur qui sert la requête en accord
+ avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
+<tr><td><code>\ </code> (anti-slash espace)</td>
+ <td>Espace non délimiteur</td></tr>
+<tr class="odd"><td><code>% </code> (pourcentage espace)</td>
+ <td>Délimiteur de champ (aucune sortie)</td></tr>
+</table>
+
+ <p>L'item de format identifiant journal <code>%L</code> génère un
+ identifiant unique pour une connexion ou une requête. Il peut servir
+ à déterminer quelles lignes correspondent à la même connexion ou
+ requête ou quelle requête est associée à tel connexion. Un item de
+ format <code>%L</code> est aussi disponible dans le module
+ <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de
+ corréler les entrées du journal des accès avec celles du journal des
+ erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé,
+ c'est son identifiant unique qui sera utilisé comme identifiant de
+ journal pour les requêtes.</p>
+
+ <div class="example"><h3>Exemple (assez similaire au format par défaut)</h3><p><code>
+ ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P] %7F: %E: [client\ %a]
+ %M% ,\ referer\ %{Referer}i"
+ </code></p></div>
+
+ <div class="example"><h3>Exemple (similaire au format 2.2.x)</h3><p><code>
+ ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
+ %M% ,\ referer\ %{Referer}i"
+ </code></p></div>
+
+ <div class="example"><h3>Exemple avancé avec identifiants journal de
+ requête/connexion</h3><p><code>
+ ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br />
+ ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br />
+ ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br />
+ ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br />
+ ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br />
+ </code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li>
+<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
+<li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque
</span>
</Location>
</code></p></div>
+
+ <p>A la base, cette directive écrase le type de contenu généré pour
+ les fichiers statiques servis à partir du sytème de fichiers. Pour
+ les ressources autres que les fichiers statiques pour lesquels le
+ générateur de réponse spécifie en général un type de contenu, cette
+ directive est ignorée.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
de tout en-tête de réponse ($resp) ou de toute variable
d'environnement ($env) dans votre expression.</p>
+ <p>En plus de <code>=</code>, <code>If</code> peut utiliser
+ l'opérateur <code>IN</code> pour déterminer si la valeur de
+ l'expression fait partie d'une liste donnée :</p>
+
+ <div class="example"><p><code>
+ <If %{REQUEST_METHOD} IN GET,HEAD,OPTIONS>
+ </code></p></div>
+
+
<h3>Voir aussi</h3>
<ul>
<li><a href="../sections.html">Comment fonctionnent les sections
persistante.</p>
<p>Lorsqu'un client utilise une connexion persistante, elle comptera
- pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>, quel
+ pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel
que soit le nombre de requêtes transmises via cette connexion.</p>
<h3>Voir aussi</h3>
</code></p></div>
+ <p>Si aucun serveur virtuel ne correspond, c'est le premier serveur
+ virtuel correspondant à l'adresse IP qui sera utilisé.</p>
+
<p>Les adresses IPv6 doivent être entourées de crochets, comme dans
l'exemple suivant :</p>
ServerName serveur.domaine.com<br />
ServerAlias serveur serveur2.domaine.com serveur2<br />
ServerAlias *.example.com<br />
+ UseCanonicalName Off<br />
# ...<br />
</VirtualHost>
</code></p></div>
<h3>Voir aussi</h3>
<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
<li><a href="../vhosts/">Documentation sur les serveurs virtuels
du serveur HTTP Apache</a></li>
</ul>
ServerName www.example.com:80
</code></p></div>
+ <p>La directive <code class="directive">ServerName</code> peut apparaître à
+ toutes les étapes de la définition du serveur. Toute occurrence
+ annule cependant la précédente (pour ce serveur).</p>
+
<p>Si la directive <code class="directive">ServerName</code> n'est pas
définie, le serveur tente de déterminer le nom d'hôte en effectuant
une recherche DNS inverse sur son adresse IP. Si la directive
au port indiqué dans la requête du client.
</p>
+ <div class="warning">
+ <p>Si la valeur de la directive <code class="directive">ServerName</code> ne
+ peut pas être résolue en adresse IP, le démarrage du serveur
+ provoquera un avertissement. <code>httpd</code> va alors utiliser le
+ résultat de la commande système <code>hostname</code> pour
+ déterminer le nom du serveur, ce qui ne correspondra pratiquement
+ jamais au nom de serveur que vous souhaitez réellement.</p>
+ <div class="example"><p><code>
+ httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
+ </code></p></div>
+ </div>
+
<h3>Voir aussi</h3>
<ul>
<code class="directive"><a href="#servername">ServerName</a></code> issue de la
configuration du serveur principal.</p>
+ <p>Si aucun serveur virtuel ne correspond, c'est le premier serveur
+ virtuel correspondant à l'adresse IP qui sera utilisé. Par
+ conséquent, le premier serveur virtuel défini est le serveur virtuel
+ par défaut.</p>
+
<div class="warning"><h3>Sécurité</h3>
<p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
pour une description détaillée des raisons pour lesquelles la
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxclients">MaxClients</a></li>
+<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
-<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxsparethreads">MaxSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#minsparethreads">MinSpareThreads</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapauthorizeprefix">AuthLDAPAuthorizePrefix</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapbinddn">AuthLDAPBindDN</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapbindpassword">AuthLDAPBindPassword</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapcharsetconfig">AuthLDAPCharsetConfig</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapcomparednonserver">AuthLDAPCompareDNOnServer</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapdereferencealiases">AuthLDAPDereferenceAliases</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattribute">AuthLDAPGroupAttribute</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapgroupattributeisdn">AuthLDAPGroupAttributeIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapmaxsubgroupdepth">AuthLDAPMaxSubGroupDepth</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserattribute">AuthLDAPRemoteUserAttribute</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapremoteuserisdn">AuthLDAPRemoteUserIsDN</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupattribute">AuthLDAPSubGroupAttribute</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapsubgroupclass">AuthLDAPSubGroupClass</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authldapurl">AuthLDAPUrl</a></li>
<h2><a name="exposed" id="exposed">Mise à disposition des informations de
connexion</a></h2>
- <p>Au cours du processus d'authentification, les attributs LDAP
- spécifiés par la directive <code class="directive"><a href="#authldapurl">AuthLDAPUrl</a></code> sont enregistrés
+ <p>Au cours du processus d'<em>authentification</em>, les attributs LDAP
+ spécifiés par la directive <code class="directive"><a href="#authldapurl">authldapurl</a></code> sont enregistrés
dans des variables d'environnement préfixées par la chaîne
"AUTHENTICATE_".</p>
+ <p>Au cours du processus d'<em>autorisation</em>, les attributs LDAP
+ spécifiés par la directive <code class="directive"><a href="#authldapurl">authldapurl</a></code> sont enregistrés
+ dans des variables d'environnement préfixées par la chaîne
+ "AUTHORIZE_".</p>
+
<p>Si les champs attribut contiennent le nom, le CN et le numéro de
téléphone d'un utilisateur, un programme CGI pourra accéder à ces
informations sans devoir effectuer une autre requête LDAP pour
FrontPage.</li>
</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPAuthorizePrefix" id="AuthLDAPAuthorizePrefix">AuthLDAPAuthorizePrefix</a> <a name="authldapauthorizeprefix" id="authldapauthorizeprefix">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le préfixe ajouté aux variables d'environnement
+durant la phase d'autorisation</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPAuthorizePrefix <em>préfixe</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPAuthorizePrefix AUTHORIZE_</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+</table>
+ <p>Cette directive permet de spécifier le préfixe ajouté aux
+ variables d'environnement durant la phase d'autorisation. Si la
+ valeur spécifiée est <em>AUTHENTICATE_</em>, les utilisateurs de ces
+ variables d'environnement verront les mêmes informations, que le
+ serveur effectue une authentification, une autorisation, ou les
+ deux.</p>
+
+ <div class="note"><h3>Note</h3>
+ Aucune variable d'autorisation n'est définie lorsqu'un utilisateur
+ s'est vu autoriser l'accès via la directive <code>Require
+ valid-user</code>.
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPBindAuthoritative" id="AuthLDAPBindAuthoritative">AuthLDAPBindAuthoritative</a> <a name="authldapbindauthoritative" id="authldapbindauthoritative">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'on doit utiliser d'autres fournisseurs
+d'authentification lorsque le serveur ne peut pas valider les données
+d'authentification de l'utilisateur, alors que ce dernier possède un
+DN.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPBindAuthoritative<em>off|on</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPBindAuthoritative on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+</table>
+ <p>Par défaut, des fournisseurs d'authentification sont appelés
+ si un utilisateur ne possède pas de DN, mais ne le sont pas si
+ l'utilisateur possède un DN et si son mot de passe ne peut pas être
+ vérifié lors d'une connexion au serveur LDAP. Si la directive
+ <code class="directive"><a href="#authldapbindauthoritative">AuthLDAPBindAuthoritative</a></code> est
+ définie à <em>off</em>, d'autres modules d'authentification
+ configurés auront une chance de valider le mot de passe de
+ l'utilisateur si la tentative de connexion au serveur LDAP échoue
+ pour une raison quelconque (avec les données d'authentification
+ fournies).</p>
+ <p>Ceci permet aux utilisateurs présent à la fois dans l'annuaire
+ LDAP et dans un fichier <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> de s'authentifier
+ lorsque le serveur LDAP est disponible, alors que le compte de
+ l'utilisateur est verrouillé ou que son mot de passe est
+ inutilisable pour une raison quelconque.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li>
+<li><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthLDAPBindDN" id="AuthLDAPBindDN">AuthLDAPBindDN</a> <a name="authldapbinddn" id="authldapbinddn">Directive</a></h2>
<p>L'extension est insensible à la casse. Les lignes vides et les
lignes commençant par un dièse (<code>#</code>) sont ignorées.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPCompareAsUser" id="AuthLDAPCompareAsUser">AuthLDAPCompareAsUser</a> <a name="authldapcompareasuser" id="authldapcompareasuser">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilisation des données d'authentification de l'utilisateur
+pour effectuer les comparaisons pour l'attribution des autorisations</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPCompareAsUser on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPCompareAsUser off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version version 2.3.6</td></tr>
+</table>
+ <p>Lorsque cette directive est définie, et si
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
+ recherches LDAP pour les autorisations utilisent le nom distinctif
+ trouvé (DN) et le mot de passe d'authentification basique HTTP de
+ l'utilisateur authentifié au lieu des données d'authentification
+ configurées au niveau du serveur.</p>
+
+ <p>Les vérifications d'autorisation <em>ldap-attribute</em>,
+ <em>ldap-user</em>, et <em>ldap-group</em> (niveau simple seulement)
+ utilisent des comparaisons.</p>
+
+ <p>Cette directive n'a d'effet sur les comparaisons effectuées au
+ cours des traitements de groupe imbriqués, et lorsque la directive
+ <code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code>
+ est aussi activée.</p>
+
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ </p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
+<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthLDAPCompareDNOnServer" id="AuthLDAPCompareDNOnServer">AuthLDAPCompareDNOnServer</a> <a name="authldapcomparednonserver" id="authldapcomparednonserver">Directive</a></h2>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'attribut LDAP utilisé pour vérifier l'appartenance d'un
utilisateur à un groupe.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPGroupAttribute member uniquemember</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
groupe. Dans le cas contraire, <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>
vérifiera si <code>bjenson</code> est un membre du groupe.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPInitialBindAsUser" id="AuthLDAPInitialBindAsUser">AuthLDAPInitialBindAsUser</a> <a name="authldapinitialbindasuser" id="authldapinitialbindasuser">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si le serveur effectue la recherche initiale du
+DN en utilisant le nom propre de l'utilisateur pour l'authentification
+de base
+et non de manière anonyme, ou en utilisant des données d'authentification
+codées en dur pour le serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindAsUser <em>off|on</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindAsUser off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+</table>
+ <p>Par défaut, le serveur convertit le nom d'utilisateur pour
+ l'authentification de base en nom distinctif LDAP (DN) soit de
+ manière anonyme, soit avec un couple nom/mot de passe dédié. Cette
+ directive permet de forcer le serveur à utiliser les véritables nom
+ d'utilisateur et mot de passe fournis par l'utilisateur pour
+ effectuer la recherche initiale du DN.</p>
+
+ <p>Si le nom d'utilisateur ne peut pas s'authentifier directement
+ et nécessite de légères modifications, voir la directive <code class="directive"><a href="#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code>.</p>
+
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ </p>
+
+ <div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
+ On ne peut utiliser cette directive que si ce module
+ effectue une authentification, et n'a aucun effet si ce module
+ n'est utilisé que pour les processus d'autorisation.
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapinitialbindpattern">AuthLDAPInitialBindPattern</a></code></li>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></code></li>
+<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li>
+<li><code class="directive"><a href="#authldapsearchasuser">AuthLDAPSearchAsUser</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPInitialBindPattern" id="AuthLDAPInitialBindPattern">AuthLDAPInitialBindPattern</a> <a name="authldapinitialbindpattern" id="authldapinitialbindpattern">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie la modification a apporter au nom d'utilisateur
+pour l'authentification de base lors de l'authentification auprès du
+serveur LDAP pour effectuer une recherche de DN</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPInitialBindPattern<em><var>regex</var> <var>substitution</var></em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPInitialBindPattern (.*) $1 (nom de l'utilisateur
+distant utilisé tel quel)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+</table>
+ <p>Si la directive <code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code> est
+ définie à <em>ON</em>, le nom utilisateur pour l'authentification de
+ base sera transformé selon l'expression rationnelle
+ <var>regex</var> et l'argument <var>substitution</var> spécifiés.</p>
+
+ <p>L'expression rationnelle est comparée au nom d'utilisateur pour
+ l'authentification de base courant. L'argument
+ <var>substitution</var> peut contenir des références arrières, mais
+ n'effectue aucune autre interpolation de variable.</p>
+
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ </p>
+
+ <div class="example"><p><code> AuthLDAPInitialBindPattern (.+) $1@example.com </code></p></div>
+ <div class="example"><p><code> AuthLDAPInitialBindPattern (.+) cn=$1,dc=example,dc=com</code></p></div>
+
+ <div class="note"><h3>Non disponible dans la cas d'une autorisation seule</h3>
+ On ne peut utiliser cette directive que si ce module
+ effectue une authentification, et n'a aucun effet si ce module
+ n'est utilisé que pour les processus d'autorisation.
+ </div>
+ <div class="note"><h3>Débogage</h3>
+ Le DN de substitution est enregistré dans la variable
+ d'environnement <em>LDAP_BINDASUSER</em>. Si l'expression
+ rationnelle ne convient pas, le nom d'utilisateur est utilisé
+ tel quel.
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
+<li><code class="directive"><a href="../mod/mod_authnnz_ldap.html#authldapbinddn">AuthLDAPBindDN</a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthLDAPMaxSubGroupDepth" id="AuthLDAPMaxSubGroupDepth">AuthLDAPMaxSubGroupDepth</a> <a name="authldapmaxsubgroupdepth" id="authldapmaxsubgroupdepth">Directive</a></h2>
d'utilisateur fourni par le client. Elle est définie à off par
défaut.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AuthLDAPSearchAsUser" id="AuthLDAPSearchAsUser">AuthLDAPSearchAsUser</a> <a name="authldapsearchasuser" id="authldapsearchasuser">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise les données d'authentification de l'utilisateur
+pour la recherche des autorisations</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSearchAsUser on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSearchAsUser off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</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_authnz_ldap</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.6</td></tr>
+</table>
+ <p>Lorsque cette directive est définie, et si
+ <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> a authentifié l'utilisateur, les
+ recherches LDAP pour définir les autorisations utilisent le nom
+ distinctif (DN) trouvé et le mot de passe pour l'authentification de
+ base HTTP de l'utilisateur authentifié, au lieu des données
+ d'authentification configurées au niveau du serveur.</p>
+
+ <p>Les vérifications d'autorisation <em>ldap-filter</em> et
+ <em>ldap-dn</em> utilisent des recherches.</p>
+
+ <p>Cette directive n'a d'effet sur les comparaisons effectuées au
+ cours des traitements de groupe imbriqués, et lorsque la directive
+ <code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code>
+ est aussi activée.</p>
+
+ <p>Cette directive ne doit être utilisée que si votre serveur LDAP
+ n'autorise pas les recherches anonymes, ou si vous ne pouvez pas
+ utiliser de nom d'utilisateur dédié via la directive <code class="directive"><a href="#authldapbinddn">AuthLDAPBindDN</a></code>.
+ </p>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#authldapinitialbindasuser">AuthLDAPInitialBindAsUser</a></code></li>
+<li><code class="directive"><a href="#authldapcompareasuser">AuthLDAPCompareAsUser</a></code></li>
+</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AuthLDAPSubGroupAttribute" id="AuthLDAPSubGroupAttribute">AuthLDAPSubGroupAttribute</a> <a name="authldapsubgroupattribute" id="authldapsubgroupattribute">Directive</a></h2>
pour différencier les membres du groupe courant qui sont eux-mêmes des
groupes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupAttribute <em>attribut</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSubgroupAttribute member uniquemember</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
objets de l'annuaire qui sont des groupes au cours du traitement des
sous-groupes.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthLDAPSubGroupClass <em>ObjectClass-LDAP</em></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthLDAPSubGroupClass groupOfNames groupOfUniqueNames</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
utiliser cette directive à l'intérieur de sections <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#files"><Files></a></code>, ou <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou de fichiers
<code><a href="core.html#accessfilename">.htaccess</a> </code> pour
contrôler l'accès à certaines zones du serveur. Le contrôle d'accès
- peut être effectué en fonction du nom d'hôte, de l'adresse IP, ou
- d'autres caractéristiques de la requête client, telles qu'elles sont
- enregistrées dans des <a href="../env.html">variables
- d'environnement</a>.</p>
+ peut être effectué en fonction du nom d'hôte ou de l'adresse IP.</p>
<p>En général, les directives de restriction d'accès s'appliquent à
toutes les méthodes d'accès (<code>GET</code>, <code>PUT</code>,
<p>La directive Apache <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> est utilisée au cours de
la phase d'autorisation pour vérifier si un utilisateur se voit
accorder ou refuser l'accès à une ressource. mod_authz_host fournit
- les types d'autorisation <code>env</code>, <code>ip</code>,
- <code>host</code> et <code>all</code>. D'autres types d'autorisation
+ les types d'autorisation <code>ip</code>, <code>host</code>. D'autres
+ types d'autorisation
sont aussi disponibles, mais nécessitent le chargement des modules
d'autorisation appropriés.</p>
<p>Ces fournisseurs d'autorisation permettent de déterminer quels
hôtes peuvent accéder à une zone du serveur. On peut contrôler
- l'accès en fonction du nom d'hôte, de l'adresse IP, d'un intervalle
- d'adresses IP, ou d'autres caractéristiques de la requête client
- enregistrées dans des variables d'environnement.</p>
-
-<h3><a name="reqenv" id="reqenv">Require env</a></h3>
-
- <p>Le fournisseur <code>env</code> permet de contrôler l'accès au
- serveur en fonction de l'existence d'une <a href="../env.html">variable d'environnement</a>. Lorsque
- <code>Require env <var>env-var</var></code> est spécifié, la
- requête est autorisée si la variable d'environnement
- <var>env-var</var> existe. Le serveur fournit la possibilité
- de définir des variables d'environnement avec une grande souplesse
- en fonction des caractéristiques de la requête client à l'aide des
- directives fournies par le module <code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code>. On
- peut ainsi utiliser cette directive pour contrôler l'accès en
- fonction de certains en-têtes comme <code>User-Agent</code> (type de
- navigateur), <code>Referer</code>, etc...</p>
-
- <div class="example"><h3>Exemple :</h3><p><code>
- SetEnvIf User-Agent ^KnockKnock/2\.0 laisse_moi_entrer<br />
- <Directory /docroot><br />
- <span class="indent">
- Require env laisse_moi_entrer<br />
- </span>
- </Directory>
- </code></p></div>
-
- <p>Dans cet exemple, les navigateurs dont la chaîne de description
- de l'en-tête user-agent commence par <code>KnockKnock/2.0</code> se
- verront accorder l'accès, alors que tous les autres se le verront
- refuser.</p>
-
-
+ l'accès en fonction du nom d'hôte, de l'adresse IP, ou d'un intervalle
+ d'adresses IP.</p>
<h3><a name="reqip" id="reqip">Require ip</a></h3>
-<h3><a name="reqall" id="reqall">Require all</a></h3>
+<h3><a name="reqlocal" id="reqlocal">Require local</a></h3>
+ <p>Le fournisseur <code>local</code> autorise l'accès au serveur si
+ l'une au moins de ces conditions est satisfaite :</p>
- <p>Le fournisseur <code>all</code> imite la fonctionnalité
- précédemment fournie par les directives 'Allow from all' et 'Deny
- from all'. Le fournisseur accepte un des deux arguments 'granted' ou
- 'denied'. Dans les exemples suivants, le premier
- accorde l'accès à toutes les requêtes, alors que le second le
- refuse.</p>
+ <ul>
+ <li>l'adresse IP du client correspond à 127.0.0.0/8</li>
+ <li>l'adresse IP du client est ::1</li>
+ <li>les adresses IP du client et du serveur sont identiques</li>
+ </ul>
- <div class="example"><p><code>
- Require all granted<br />
- </code></p></div>
+ <p>L'exemple suivant montre une méthode simple pour sélectionner les
+ connexions en provenance de l'hôte local :</p>
<div class="example"><p><code>
- Require all denied<br />
+ Require local
</code></p></div>
-
-
</div>
</div>
<div class="bottomlang">
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cachedefaultexpire">CacheDefaultExpire</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachedetailheader">CacheDetailHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachedisable">CacheDisable</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheenable">CacheEnable</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cacheheader">CacheHeader</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorecachecontrol">CacheIgnoreCacheControl</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreheaders">CacheIgnoreHeaders</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorenolastmod">CacheIgnoreNoLastMod</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignorequerystring">CacheIgnoreQueryString</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachekeybaseurl">CacheKeyBaseURL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachelock">CacheLock</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachelockmaxage">CacheLockMaxAge</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxexpire">CacheMaxExpire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheminexpire">CacheMinExpire</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachequickhandler">CacheQuickHandler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachestaleonerror">CacheStaleOnError</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreexpired">CacheStoreExpired</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachestorenostore">CacheStoreNoStore</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachestoreprivate">CacheStorePrivate</a></li>
</ul>
<li><img alt="" src="../images/down.gif" /> <a href="#sampleconf">Exemple de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#thunderingherd">Eviter une tempête de requête</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#finecontrol">Contrôle fin via le filtre CACHE</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#status">Etat du cache et journalisation</a></li>
</ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../caching.html">Guide de la mise en
servies soient à jour. En effet, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> n'est pas
en mesure d'effectuer cette opération à votre place.</div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="status" id="status">Etat du cache et journalisation</a></h2>
+ <p>Lorsque <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> a décidé s'il devait ou non
+ servir une entité depuis le cache, les raisons précises de cette
+ décision sont enregistrées dans l'environnement du sous-processus
+ interne à la requête sous la clé <strong>cache-status</strong>.
+ Cette information peut être journalisée via la directive <code class="directive"><a href="../mod/mod_log_config.html#logformat">LogFormat</a></code> comme suit :</p>
+
+ <div class="example"><p><code>
+ LogFormat "%{cache-status}e ..."
+ </code></p></div>
+
+ <p>En fonction de la décision prise, l'information est aussi écrite
+ dans l'environnement du sous-processus sous une des trois clés
+ suivantes :</p>
+
+ <dl>
+ <dt>cache-hit</dt><dd>Le contenu a été servi depuis le cache.</dd>
+ <dt>cache-revalidate</dt><dd>Le contenu du cache était périmé, a été
+ mis à jour avec succès, puis servi depuis le cache.</dd>
+ <dt>cache-miss</dt><dd>Le contenu n'était pas dans le cache et a été
+ servi directement depuis le serveur demandé.</dd>
+ </dl>
+
+ <p>Il est alors possible d'envisager une journalisation conditionnelle
+ du traitement des requêtes par rapport au cache comme dans l'exemple
+ suivant :</p>
+
+ <div class="example"><p><code>
+ CustomLog requetes-depuis-cache.log common env=cache-hit<br />
+ CustomLog requetes-hors-cache.log common env=cache-miss<br />
+ CustomLog requetes-avec-mise-a-jour-du-cache.log common env=cache-revalidate<br />
+ </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><a name="CacheDefaultExpire" id="CacheDefaultExpire">CacheDefaultExpire</a> <a name="cachedefaultexpire" id="cachedefaultexpire">Directive</a></h2>
lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDefaultExpire <var>secondes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDefaultExpire 3600 (une heure)</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
CacheDefaultExpire 86400
</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><a name="CacheDetailHeader" id="CacheDetailHeader">CacheDetailHeader</a> <a name="cachedetailheader" id="cachedetailheader">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheDetailHeader <var>on|off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheDetailHeader off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+</table>
+ <p>Lorsque la directive <code class="directive"><a href="#cachedetailheader">CacheDetailHeader</a></code> est définie à on, un
+ en-tête <strong>X-Cache-Detail</strong> est ajouté à la réponse et
+ contient les raisons précises d'une décision d'utilisation du cache
+ vis à vis de cette dernière.</p>
+
+ <p>Ceci peut s'avérer utile au cours du développement de services
+ RESTful mis en cache pour obtenir des informations supplémentaires à
+ propos des décisions vis à vis du cache écrites dans les en-têtes de
+ la réponse. Il est ainsi possible de vérifier si
+ <code>Cache-Control</code> et d'autres en-têtes ont été correctement
+ utilisés par le service et le client.</p>
+
+ <p>Si le gestionnaire normal est utilisé, cette directive peut se
+ situer dans une section <code class="directive"><a href="../mod/core.html#<directory>"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#<location>"><Location></a></code>. Si c'est le gestionnaire
+ rapide qui est utilisé, elle doit se situer dans un contexte de
+ serveur principal ou de serveur virtuel, sinon elle sera ignorée.</p>
+
+ <div class="example"><p><code>
+ # Active l'en-tête X-Cache-Detail<br />
+ CacheDetailHeader on<br />
+ </code></p></div>
+
+ <div class="example"><p><code>
+ X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost<br />
+ </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><a name="CacheDisable" id="CacheDisable">CacheDisable</a> <a name="cachedisable" id="cachedisable">Directive</a></h2>
<li><a href="../env.html">Les variables d'environnement dans
Apache</a></li>
</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheHeader" id="CacheHeader">CacheHeader</a> <a name="cacheheader" id="cacheheader">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ajoute un en-tête X-Cache à la réponse.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheHeader <var>on|off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheHeader off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+</table>
+ <p>Lorsque la directive <code class="directive"><a href="#cacheheader">CacheHeader</a></code> est définie à on, un
+ en-tête <strong>X-Cache</strong> est ajouté à la réponse et contient
+ l'état du cache pour cette dernière. Si le gestionnaire normal est
+ utilisé, cette directive peut se situer dans une section <code class="directive"><a href="../mod/core.html#<directory>"><Directory></a></code> ou <code class="directive"><a href="../mod/core.html#<location>"><Location></a></code>. Si c'est le
+ gestionnaire rapide qui est utilisé, elle doit se situer dans un
+ contexte de serveur principal ou de serveur virtuel, sinon elle sera
+ ignorée.</p>
+
+ <dl>
+ <dt><strong>HIT</strong></dt><dd>Le contenu était à jour et a été
+ servi depuis le cache.</dd>
+ <dt><strong>REVALIDATE</strong></dt><dd>Le contenu était périmé, a
+ été mis à jour, puis a été servi depuis le cache.</dd>
+ <dt><strong>MISS</strong></dt><dd>Le contenu n'a pas été servi
+ depuis le cache, mais directement depuis le serveur demandé.</dd>
+ </dl>
+
+ <div class="example"><p><code>
+ # Active l'en-tête X-Cache<br />
+ CacheHeader on<br />
+ </code></p></div>
+
+ <div class="example"><p><code>
+ X-Cache: HIT from localhost<br />
+ </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><a name="CacheIgnoreCacheControl" id="CacheIgnoreCacheControl">CacheIgnoreCacheControl</a> <a name="cacheignorecachecontrol" id="cacheignorecachecontrol">Directive</a></h2>
Modified.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheIgnoreNoLastMod On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheIgnoreNoLastMod Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
</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><a name="CacheKeyBaseURL" id="CacheKeyBaseURL">CacheKeyBaseURL</a> <a name="cachekeybaseurl" id="cachekeybaseurl">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Remplace l'URL de base des clés du cache mandatées en
+inverse</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheKeyBaseURL <var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheKeyBaseURL http://example.com</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, 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_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+</table>
+ <p>Lorsque la directive <code class="directive"><a href="#cachekeybaseurl">CacheKeyBaseURL</a></code> est utilisée, l'URL
+ spécifiée sera utilisée comme URL de base pour calculer l'URL des clés
+ du cache dans la configuration du mandataire inverse. Par défaut,
+ c'est le protocole/nom d'hôte/port du serveur virtuel courant qui sera
+ utilisé pour construire la clé de cache. Dans le cas d'un cluster de
+ machines, si toutes les entrées du cache doivent posséder la même clé,
+ cette directive permet de spécifier une nouvelle URL de base.</p>
+
+ <div class="example"><p><code>
+ # Remplace l'URL de base de la clé de cache.<br />
+ CacheKeyBaseURL http://www.example.com/<br />
+ </code></p></div>
+
+ <div class="warning">Prenez garde en définissant cette directive. Si
+ deux serveurs virtuels distincts possèdent accidentellement la même
+ URL de base, les entrées en provenance d'un serveur virtuel seront
+ servies par l'autre.</div>
+
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="CacheLastModifiedFactor" id="CacheLastModifiedFactor">CacheLastModifiedFactor</a> <a name="cachelastmodifiedfactor" id="cachelastmodifiedfactor">Directive</a></h2>
fonction de la date de dernière modification.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheLastModifiedFactor <var>flottant</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheLastModifiedFactor 0.1</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
document</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxExpire <var>secondes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxExpire 86400 (une journée)</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
document</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinExpire <var>secondes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinExpire 0</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
instance qui sera prise en compte.</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CacheStaleOnError" id="CacheStaleOnError">CacheStaleOnError</a> <a name="cachestaleonerror" id="cachestaleonerror">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sert du contenu non à jour à la place de réponses 5xx.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStaleOnError <var>on|off</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStaleOnError on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
+</table>
+ <p>Lorsque la directive <code class="directive"><a href="#cachestaleonerror">CacheStaleOnError</a></code> est définie à on, et
+ si des données non mises à jour sont disponibles dans le cache, ce
+ dernier renverra ces données, plutôt qu'une éventuelle réponse 5xx en
+ provenance du serveur d'arrière-plan. Alors que l'en-tête
+ Cache-Control envoyé par les clients sera respecté, et que les clients
+ recevront donc dans ce cas la réponse 5xx brute à leur requête, cette
+ réponse 5xx renvoyée au client n'invalidera pas le contenu dans le
+ cache. </p>
+
+ <div class="example"><p><code>
+ # Sert des données non mises à jour en cas d'erreur.<br />
+ CacheStaleOnError on<br />
+ </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><a name="CacheStoreExpired" id="CacheStoreExpired">CacheStoreExpired</a> <a name="cachestoreexpired" id="cachestoreexpired">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Tente de mettre en cache les réponses que le serveur
+considère comme arrivées à expiration</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreExpired On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreExpired Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
+</table>
+ <p>Depuis la version 2.2.4, les réponses qui sont arrivées à
+ expiration ne sont pas stockées dans le cache. La directive
+ <code class="directive">CacheStoreExpired</code> permet de modifier ce
+ comportement. Avec <code class="directive">CacheStoreExpired</code> On, le
+ serveur tente de mettre en cache la ressource si elle est périmée.
+ Les requêtes suivantes vont déclencher une requête si-modifié-depuis
+ de la part du serveur d'origine, et la réponse sera renvoyée à
+ partir du cache si la ressource d'arrière-plan n'a pas été modifiée.</p>
+
+ <div class="example"><p><code>
+ CacheStoreExpired On
+ </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><a name="CacheStoreNoStore" id="CacheStoreNoStore">CacheStoreNoStore</a> <a name="cachestorenostore" id="cachestorenostore">Directive</a></h2>
l'entête Cache-Control: a pour valeur no-store.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStoreNoStore On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStoreNoStore Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
marquées comme privées</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheStorePrivate On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheStorePrivate Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_cache</td></tr>
</table>
<li><img alt="" src="../images/down.gif" /> <a href="#cachedirlevels">CacheDirLevels</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cachemaxfilesize">CacheMaxFileSize</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheminfilesize">CacheMinFileSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachereadsize">CacheReadSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cachereadtime">CacheReadTime</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cacheroot">CacheRoot</a></li>
</ul>
</div>
être stocké dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMaxFileSize <var>octets</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMaxFileSize 1000000</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_disk_cache</td></tr>
</table>
être stocké dans le cache</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheMinFileSize <var>octets</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheMinFileSize 1</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_disk_cache</td></tr>
</table>
CacheMinFileSize 64
</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><a name="CacheReadSize" id="CacheReadSize">CacheReadSize</a> <a name="cachereadsize" id="cachereadsize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La quantité minimale (en octets) de données à lire et à
+mettre en cache avant de les envoyer au client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadSize 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_disk_cache</td></tr>
+</table>
+ <p>La directive <code class="directive">CacheReadSize</code> permet de
+ définir la quantité minimale de données, en octets, à lire depuis le
+ serveur d'arrière-plan avant de les envoyer au client. Avec la
+ valeur par défaut zéro, toute donnée de toutes tailles est envoyée
+ au client dès qu'elle est disponible. Avec une valeur non nulle, le
+ cache disque met en tampon au moins la quantité de données
+ correspondante avant d'envoyer la réponse au client. Les
+ performances peuvent s'en trouver améliorées lorsqu'on met en cache
+ du contenu en provenance d'un mandataire inverse.</p>
+
+ <p>Cette directive ne prend effet que lorsque les données sont
+ enregistrées dans le cache, et non lorsque les données sont servies à
+ partir du cache.</p>
+
+ <div class="example"><p><code>
+ CacheReadSize 102400
+ </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><a name="CacheReadTime" id="CacheReadTime">CacheReadTime</a> <a name="cachereadtime" id="cachereadtime">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le temps minimum (en millisecondes) qui doit s'écouler
+avant d'envoyer les données au client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CacheReadTime <var>millisecondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CacheReadTime 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</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_disk_cache</td></tr>
+</table>
+ <p>La directive <code class="directive">CacheReadTime</code> permet de
+ définir le temps minimum qui doit s'écouler avant d'essayer
+ d'envoyer des données au client. Pendant ce temps, les données sont
+ mises en tampon avant de pouvoir être envoyées au client. Les
+ performances peuvent s'en trouver améliorées lorsqu'on met en cache
+ du contenu en provenance d'un mandataire inverse.</p>
+
+ <p>La valeur par défaut zéro désactive cette option.</p>
+
+ <p>Cette directive ne prend effet que lorsque les données sont
+ enregistrées dans le cache, et non lorsque les données sont servies à
+ partir du cache. Il est recommandé d'harmoniser l'utilisation de cette
+ directive avec celle de la directive <code class="directive"><a href="#cachereadsize">CacheReadSize</a></code>, afin de s'assurer
+ que le serveur n'effectue pas une mise en tampon excessive au cas
+ où les données arriveraient plus vite que prévu.</p>
+
+ <div class="example"><p><code>
+ CacheReadTime 1000
+ </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><a name="CacheRoot" id="CacheRoot">CacheRoot</a> <a name="cacheroot" id="cacheroot">Directive</a></h2>
<code>clé=valeur</code> dont la description fait l'objet du tableau
ci-dessous.</p>
- <p>La définition du paramètre <code>min</code> permet de déterminer
- le nombre de connexions vers le serveur d'arrière-plan qui seront
- conservées après usage. Il sera possible de créer jusqu'à
- <code>smax</code> (Soft Maximum) connexions à la demande. Toute
- connexion en surnombre par rapport à <code>smax</code> aura une
- durée de vie limitée, ou <code>ttl</code>. En tout état de cause,
- Apache httpd ne créera jamais plus de <code>max</code> (Hard
- Maximum) connexions vers le serveur d'arrière-plan.</p>
+ <p>Par défaut, mod_proxy permet et met en réserve le nombre maximum
+ de connexions pouvant être utilisées simultanément par le processus
+ enfant concerné du serveur web. Le paramètre <code>max</code> permet
+ de réduire cette valeur par défaut. Le paramètre <code>ttl</code>,
+ quant à lui, permet de définir une durée de vie optionnelle ; les
+ connexions qui n'ont pas été utilisées pendant au moins
+ <code>ttl</code> secondes seront fermées. <code>ttl</code> permet
+ aussi d'empêcher l'utilisation d'une connexion susceptible d'être
+ fermée suite à une fin de vie de connexion persistante sur le
+ serveur d'arrière-plan.</p>
<p>Le groupement de connexions est maintenu au niveau de chaque
- processus enfant du serveur web, et les définitions de
- <code>min</code>, <code>max</code>, et <code>smax</code> ne font
+ processus enfant du serveur web, et <code>max</code>, ainsi que les
+ autres paramètres, ne font
l'objet d'aucune coordination entre les différents processus
enfants, sauf si un seul processus enfant est autorisé par la
configuration ou la conception du module multi-processus (MPM).</p>
<div class="example"><h3>Exemple</h3><p><code>
- ProxyPass /exemple http://backend.example.com smax=5 max=20 ttl=120 retry=300
+ ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300
</code></p></div>
<table>
<th>Description</th></tr>
<tr><td>min</td>
<td>0</td>
- <td>Nombre minimum de connexions vers le serveur
- d'arrière-plan qui seront conservées après usage.</td></tr>
+ <td>Nombre minimum d'entrées dans le pool de connexions,
+ distinct du nombre de connexions effectif. La valeur par défaut
+ ne doit être modifiée que dans des circonstances particulières
+ où la mémoire associée aux connexions avec le serveur
+ d'arrière-plan doit être préallouée ou réservée dans le tas.</td></tr>
<tr><td>max</td>
<td>1...n</td>
- <td>Nombre maximum absolu de connexions autorisées vers le
- serveur d'arrière-plan. La valeur par défaut du nombre maximum
- absolu de connexions correspond au nombre de threads par
- processus pour le MPM utilisé. Pour le MPM Prefork, la valeur
- est toujours 1, alors que pour le MPM Worker, elle est contrôlée
- par la directive <code class="directive">ThreadsPerChild</code>. Apache
- httpd ne créera jamais plus de connexions vers le serveur
- d'arrière-plan que le maximum absolu.</td></tr>
+ <td>Nombre maximum de connexions autorisées vers le serveur
+ d'arrière-plan. La valeur par défaut correspond au nombre de
+ threads par processus pour le MPM (Module Multi Processus)
+ actif. La valeur sera toujours 1 pour le MPM Prefork, alors
+ qu'elle dépendra de la définition de la directive
+ <code class="directive">ThreadsPerChild</code> pour les autres MPMs.</td></tr>
<tr><td>smax</td>
<td>max</td>
- <td>Des connexions pourront être créées à la demande jusqu'au
- maximum relatif. Toute connexion en surnombre par rapport au
- maximum relatif se verra attribuer une durée de vie
- <code>ttl</code>.
- </td></tr>
+ <td>Les entrées du pool de connexions conservées au delà de
+ cette limite sont libérées au cours de certaines opérations si
+ elles n'ont pas été utilisées au cours de leur durée de vie,
+ définie par le paramètre <code>ttl</code>. Si l'entrée du pool
+ de connexions est associée à une connexion, cette dernière sera
+ fermée. La valeur par défaut ne doit être modifiée que dans des
+ circonstances particulières où les entrées du pool de connexions
+ et toutes connexions associées qui ont dépassé leur durée de vie
+ doivent être libérées ou fermées de manière plus autoritaire.</td></tr>
<tr><td>acquire</td>
<td>-</td>
<td>Cette clé permet de définir le délai maximum d'attente pour
</td></tr>
<tr><td>ttl</td>
<td>-</td>
- <td>Durée de vie des connexions inactives en surnombre par
- rapport aux <code>smax</code> premières connexions en secondes.
- Apache httpd fermera toutes les connexions qui n'ont pas été utilisées
- pendant ce laps de temps.
+ <td>Durée de vie des connexions inactives et des entrées du pool
+ de connexions associées en secondes. Celles qui n'ont pas été
+ utilisées au bout de <code>ttl</code> secondes seront libérées
+ ou fermées.
</td></tr>
</table>
<p>Lorsque la directive ProxyPass est utilisée à l'intérieur d'une
section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier argument est omis et le répertoire
- local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>.</p>
+ local est obtenu à partir de la section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en sera de même dans une
+ section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> ; cependant, ProxyPass
+ n'interprète pas les expressions rationnelles, et il sera ici
+ nécessaire d'utiliser la directive
+ <code class="directive">ProxyPassMatch</code> à la place.</p>
<p>Si vous avez besoin d'un configuration de mandataire inverse plus
souple, reportez-vous à la documentaion de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> et son drapeau
<p>Le drapeau <code>!</code> vous permet de ne pas mandater un
sous-répertoire donné.</p>
+ <p>Dans une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, le premier argument est
+ omis et l'expression rationnelle est obtenue à partir de la directive
+ <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>.</p>
+
+ <p>Si vous avez besoin d'une configuration du mandataire inverse
+ plus flexible, voyez la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> avec le drapeau
+ <code>[P]</code>.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">Directive</a></h2>
<p>Lorsque cette directive est utilisée dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>, le premier
argument est omis et le répertoire local est obtenu à partir de
- l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>.</p>
+ l'argument de la directive <code class="directive"><a href="../mod/core.html#location"><Location></a></code>. Il en est de même à l'intérieur
+ d'une section <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, mais le résultat ne sera
+ probablement pas celui attendu car ProxyPassReverse va interpréter
+ l'expression rationnelle littéralement comme un chemin ; si besoin
+ est dans ce cas, définissez la directive ProxyPassReverse en dehors
+ de la section, ou dans une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> séparée.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
</ul>
<h3>See also</h3>
<ul class="seealso">
-<li><code class="directive"><a href="../mod/mod_proxy.html#allowconnect">AllowCONNECT</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
</ul></div>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 669473:932927 (outdated) -->
+<!-- English Revision: 669473:1023789 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Vue d'ensemble des nouvelles fonctionnalités d'Apache 2.4 - Serveur Apache HTTP</title>
+<title>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
+serveur HTTP Apache - Serveur Apache HTTP</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" />
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités d'Apache 2.4</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Vue d'ensemble des nouvelles fonctionnalités de la version 2.4 du
+serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_4.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/new_features_2_4.html" title="Français"> fr </a></p>
<dt>KeepAliveTimeout en millisecondes</dt>
<dd>La directive <code class="directive"><a href="./mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> permet dorénavant de
- >préciser une durée de vie en millisecondes.
+ préciser une durée de vie en millisecondes.
</dd>
+
+ <dt>MPMs chargeables</dt>
+ <dd>On peut maintenant compiler plusieurs MPMs en tant que modules
+ chargeables. La configuration du MPM choisi s'effectue à
+ l'exécution.</dd>
+
+ <dt>Configuration du niveau de journalisation (LogLevel) par
+ module et par répertoire</dt>
+ <dd>La directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code>
+ peut maintenant être définie par module et par répertoire. Les
+ nouveaux niveaux <code>trace1</code> à <code>trace8</code> ont été
+ ajoutés au dessus du niveau de journalisation <code>debug</code>.</dd>
+
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="module" id="module">Améliorations des modules</a></h2>
<dl>
- <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: support de la validation OCSP des
- certificats clients</dt>
+ <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
<dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> peut maintenant vérifier la
validité des certificats clients en se connectant à
répondeur par défaut, et de choisir si l'on
préfère le répondeur désigné
dans le certificat client lui-même.</dd>
+
+ <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> supporte aussi maintenant le lien
+ OCSP, par lequel le serveur obtient activement une vérification
+ OCSP de son certificat et la transmet au client durant la phase
+ de négociation de la connexion.</dd>
+
+ <dd>On peut maintenant configurer <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> pour
+ que celui-ci partage les données de session SSL entre les serveurs
+ via memcached.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_lua.html">mod_lua</a></code></dt>
+
+ <dd>Embarque le langage <a href="http://www.lua.org/">Lua</a> dans
+ httpd, pour la configuration et des fonctions logiques simples.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></dt>
+
+ <dd>Support du protocole FastCGI pour <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dd>
+
+ <dt><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></dt>
+
+ <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant mettre en cache des
+ requêtes HEAD.</dd>
+
+ <dd>Chaque fois que cela est possible, les directives de
+ <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peuvent maintenant être définies au
+ niveau du répertoire, et non plus seulement au niveau du serveur
+ principal.</dd>
+
+ <dd>L'URL de base des URLs en cache peut être personnalisée de
+ façon à ce qu'un cluster de caches puisse partager le même préfixe
+ d'URL.</dd>
+
+ <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant servir du contenu
+ non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
+ disponible (erreur 5xx).</dd>
+
+ <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> peut maintenant insérer
+ HIT/MISS/REVALIDATE dans un en-tête X-Cache.</dd>
+
+ <dt><code class="module"><a href="./mod/mod_allowmethods.html">mod_allowmethods</a></code></dt>
+ <dd>Nouveau module permettant de restreindre certaines méthodes
+ HTTP sans interférer avec l'authentification et l'autorisation.</dd>
+
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="programs" id="programs">Améliorations des programmes</a></h2>
-
- </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
+ <dl>
+ <dt>fcgistarter</dt>
+ <dd>Utilitaire pour le démarrage des démons FastCGI</dd>
+ <dt>htcacheclean</dt>
+ <dd>Les URLs présentes dans le cache peuvent maintenant être
+ affichées, accompagnées éventuellement de leurs métadonnées.</dd>
+ <dd>Permet d'effacer explicitement des URLs individuelles
+ présentes dans le cache.</dd>
+ <dd>Les tailles de fichiers peuvent maintenant être arrondies au
+ multiple de la taille de bloc donnée, les limites de taille
+ collant de ce fait d'avantage à la taille réelle sur disque.</dd>
+ <dd>La taille du cache peut maintenant être limitée par le
+ nombre d'inodes, en plus de la possibilité de limitation par la
+ taille des fichiers.</dd>
+ </dl>
+ </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="developer" id="developer">Modifications pour le développeur de modules</a></h2>
<dt>Interface de mise en cache des petits objets</dt>
<dd>Le fichier d'en-têtes <var>ap_socache.h</var> fournit une
- interface à base de fournisseur pour la mise en cache des petits
+ interface à base de fournisseur pour la mise en cache des petits
objets de données, en s'inspirant de
l'implémentation précédente
du cache de session par <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>. Sont supportés
mémoire partagée, les fichiers dbm sur disque, et les caches
distribués de type memcache.</dd>
+ <dt>Ajout du point d'ancrage Cache Status</dt>
+
+ <dd>Le module <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> inclut maintenant un
+ nouveau point d'ancrage, <code>cache_status</code>, qui est appelé
+ lorsque la décision à propos de la mise en cache est connue. Il en
+ existe une implémentation par défaut qui ajoute les en-têtes
+ optionnels <code>X-Cache</code> et <code>X-Cache-Detail</code> à
+ la réponse.</dd>
+
</dl>
+ <p>La documentation du développeur contient une <a href="developer/new_api_2_4.html">liste détaillée des modifications
+ de l'API</a>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/new_features_2_4.html" hreflang="en" rel="alternate" title="English"> en </a> |
du cache de session par <module>mod_ssl</module>. Sont supportés
actuellement : les fournisseurs utilisant un tampon cyclique en
mémoire partagée, les fichiers dbm sur disque, et les caches
- distribués de type memcache./dd>
+ distribués de type memcache.</dd>
<dt>Ajout du point d'ancrage Cache Status</dt>
certaines configurations particulières, comme décrit ci-dessous.</p>
<ul>
- <li><code class="directive">MaxRequestsPerChild</code> a été renommée en
- <code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>;
- ce nouveau nom reflète mieux l'usage de cette directive.</li>
+ <li>La directive <code class="directive">MaxRequestsPerChild</code> a
+ été renommée en <code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, ce qui
+ correspond d'avantage à ce qu'elle fait.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> ne produit plus aucun
effet, si ce n'est d'émettre un avertissement si elle est
directives de configuration la remplacent dans la version 2.4.
</li>
- <li><code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est à présent
- positionné à Off par défaut.</li>
+ <li>La valeur par défaut de la directive <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est maintenant Off.</li>
<li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>: <a href="modules/mod_log_config.html#formats">${cookie}C</a>
correspond au nom du cookie dans son ensemble, alors qu'avant,
<li><code>Invalid command 'User', perhaps misspelled or defined by
a module not included in the server configuration</code> - chargez
le module <code class="module"><a href="./mod/mod_unixd.html">mod_unixd</a></code></li>
-
<li><code>Invalid command 'Require', perhaps misspelled or defined
by a module not included in the server configuration</code>, ou
<code>Invalid command 'Order', perhaps misspelled or defined by a
module not included in the server configuration</code> - chargez
le module <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, ou mettez à jour
vers la version 2.4 les directives d'autorisation.</li>
- <li><code>mixing * ports and non-* ports with a NameVirtualHost address is not supported</code>, <code>Either NameVirtualHost w.x.y.z:n has no VirtualHosts, or there is more than one identical NameVirtualHost line, or your VirtualHost declarations do not match the NameVirtualHost line</code> - ces messages ne sont pas nouveaux, mais ils bloquent désormais le démarrage en générant une erreur</li>
-
- <li><code>_default_ is not allowed in NameVirtualHost directive</code> - ceci a toujours été le cas, mais à présent cette erreur bloque le démarrage du serveur.</li>
-
<li><code>Ignoring deprecated use of DefaultType in line NN of
/path/to/httpd.conf</code> - supprimez la directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> et remplacez-la par les
directives de configuration appropriées.</li>
+ <li><code>mixing * ports and non-* ports with a NameVirtualHost
+ address is not supported</code>, <code>Either NameVirtualHost
+ w.x.y.z:n has no VirtualHosts, or there is more than one identical
+ NameVirtualHost line, or your VirtualHost declarations do not
+ match the NameVirtualHost line</code> -
+ ce ne sont pas des nouveaux messages, mais ils empêchent
+ maintenant le serveur de démarrer</li>
+ <li><code>_default_ is not allowed in NameVirtualHost
+ directive</code> - l'explication est dans le message ; cette
+ définition n'a jamais été valide, mais elle empêche maintenant le
+ serveur de démarrer.</li>
</ul></li>
<li>Erreurs de traitement des requêtes :
<ul>