<a href="./pt-br/bind.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
<a href="./tr/bind.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>Configuration du serveur HTTP Apache pour l'écoute
sur un port et une adresse IP spécifiques.</p>
<variants>
<variant outdated="yes">de</variant>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant>pt-br</variant>
<a href="./ko/configuring.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/configuring.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document décrit les fichiers utilisés pour configurer
le Serveur HTTP Apache.</p>
sont aussi ignorées. les arguments de directive sont séparés par des blancs.
Si un argument contient des espaces, il doit être entouré de guillemets.</p>
+ <h3 id="quotes">Citation et échappement</h3>
+
+ <p>Un argument qui contient des espaces doit être entouré de guillemets
+ doubles (<code>"</code>) ou de guillemets simples (<code>'</code>). Les
+ guillemets eux-mêmes ne font pas partie de l’argument.</p>
+
+ <p>À l’intérieur d’une chaîne entre guillemets, seules deux séquences
+ d’échappement sont reconnues : <code>\\</code> produit une controblique
+ littérale et <code>\"</code> (ou <code>\'</code> si la chaîne est entourée
+ de guillemets simples) produit un guillemet littéral sans terminer la
+ chaîne. Toutes les autres séquences avec controblique sont conservées telles
+ quelles — par exemple, <code>\n</code> sera considéré comme une chaîne
+ littéral de deux caractères <code>\n</code>, pas comme une nouvelle
+ ligne.</p>
+
+ <p>En dehors des guillemets, les controbliques n’ont aucune signification
+ spéciale et sont traitées comme des caractères littéraux. La seule exception
+ est la controblique de continuation de ligne en fin de ligne, comme décrit
+ ci-avant.</p>
+
+ <p>Notez que des chaînes entre guillemets adjacentes sans espace entre elles
+ ne sont <strong>pas</strong> concaténées — elles sont traitées comme des
+ arguments séparés. Par exemple :</p>
+
+ <div class="example"><p><code>
+ # Il ne s’agit pas d’un seul argument, mais de DEUX :<br>
+ Header set X-Foo "arg1""arg2"
+ </code></p></div>
+
+ <p>Certaines directives acceptent des arguments qui contiennent des
+ sous-expressions ayant leur propre syntaxe, telles que les drapeaux de la
+ directive <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ou les
+ expression <a href="expr.html">ap_expr</a>. Dans ces cas, l’interpréteur de
+ fichier de configuration enlève tout d’abord les guillemets englobants et
+ traite les séquences avec controblique comme décrit ci-avant, puis
+ l’interpréteur propre à la directive traite le résultat. En cas de doute,
+ utiliser des guillemets simples autour d’un argument qui contient des
+ controbliques peut éviter un double traitement inattendu des séquenses
+ d’échappement.</p>
+
+
+
<p>Les directives dans les fichiers de configuration ne sont pas
sensibles à la casse, mais leurs arguments le sont souvent.</p>
<variants>
<variant outdated="yes">de</variant>
<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>
<a href="./ko/content-negotiation.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/content-negotiation.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>Apache HTTPD prend en charge la négociation de
<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>
<a class="glossarylink" href="./glossary.html#subrequest" title="see glossary">subrequest</a> such as looking
for a <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>
or generating a directory listing with <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code>,
- per-request environment variables are <em>not</em> inherited in the
- subrequest. Additionally,
+ per-request environment variables are <em>not</em> inherited in the
+ subrequest. Additionally,
<code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> directives
are not separately evaluated in the subrequest due to the API phases
<code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> takes action in.</li>
<h3 id="suppress-error-charset">suppress-error-charset</h3>
- <p><em>Available in versions after 2.0.54</em></p>
-
<p>When Apache issues a redirect in response to a client request,
the response includes some actual text to be displayed in case
the client can't (or doesn't) automatically follow the redirection.
<h3 id="cgilike">ap_trust_cgilike_cl</h3>
<p><em>Available in 2.4.59 and later</em></p>
- <p> This variable allows a script running in CGI-like module to supply it's
+ <p> This variable allows a script running in CGI-like module to supply its
own Content-Length HTTP response header. It should
only be set on configuration sections that contain trusted scripts.
</p>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
-<!-- English Revision: 1933550:1934600 (outdated) -->
+<!-- English Revision: 1933550:1934651 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 659902:1934600 (outdated) -->
+<!-- English Revision: 659902:1934651 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1934600 (outdated) -->
+<!-- English Revision: 105989:1934651 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 1885047:1934600 (outdated) -->
+<!-- English Revision: 1885047:1934651 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
Reviewed by: Orhan Berent <berent belgeler.gen.tr>
<p><span>Langues Disponibles: </span><a href="./en/expr.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/expr.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Historiquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
<li><img alt="" src="./images/down.gif"> <a href="#other">Autres</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#sslrequire">Comparaison avec SSLRequire</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#compatibility">Historique de version</a></li>
-</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="directive"><a href="./mod/core.html#if">If</a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#elseif"><ElseIf></a></code></li><li><code class="directive"><a href="./mod/core.html#else"><Else></a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></code></li><li><code class="directive"><a href="./mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="./mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#requestheader">RequestHeader</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><a href="mod/mod_authz_core.html#reqexpr">Require expr</a></li><li><a href="mod/mod_authnz_ldap.html#requser">Require ldap-user</a></li><li><a href="mod/mod_authnz_ldap.html#reqgroup">Require ldap-group</a></li><li><a href="mod/mod_authnz_ldap.html#reqdn">Require ldap-dn</a></li><li><a href="mod/mod_authnz_ldap.html#reqattribute">Require ldap-attribute</a></li><li><a href="mod/mod_authnz_ldap.html#reqfilter">Require ldap-filter</a></li><li><a href="mod/mod_authnz_ldap.html#reqsearch">Require ldap-search</a></li><li><a href="mod/mod_authz_dbd.html#reqgroup">Require dbd-group</a></li><li><a href="mod/mod_authz_dbm.html#reqgroup">Require dbm-group</a></li><li><a href="mod/mod_authz_groupfile.html#reqgroup">Require group</a></li><li><a href="mod/mod_authz_host.html#reqhost">Require host</a></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code></li><li><code class="directive"><a href="./mod/mod_log_debug.html#logmessage">LogMessage</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li></ul></div>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="directive"><a href="./mod/core.html#if">If</a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#elseif"><ElseIf></a></code></li><li><code class="directive"><a href="./mod/core.html#else"><Else></a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_auth_basic.html#authbasicfake">AuthBasicFake</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code></li><li><code class="directive"><a href="./mod/mod_auth_form.html#authformlogoutlocation">AuthFormLogoutLocation</a></code></li><li><code class="directive"><a href="./mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="./mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#requestheader">RequestHeader</a></code></li><li><code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code></li><li><a href="mod/mod_authz_core.html#reqexpr">Require expr</a></li><li><a href="mod/mod_authnz_ldap.html#requser">Require ldap-user</a></li><li><a href="mod/mod_authnz_ldap.html#reqgroup">Require ldap-group</a></li><li><a href="mod/mod_authnz_ldap.html#reqdn">Require ldap-dn</a></li><li><a href="mod/mod_authnz_ldap.html#reqattribute">Require ldap-attribute</a></li><li><a href="mod/mod_authnz_ldap.html#reqfilter">Require ldap-filter</a></li><li><a href="mod/mod_authnz_ldap.html#reqsearch">Require ldap-search</a></li><li><a href="mod/mod_authz_dbd.html#reqgroup">Require dbd-group</a></li><li><a href="mod/mod_authz_dbm.html#reqgroup">Require dbm-group</a></li><li><a href="mod/mod_authz_groupfile.html#reqgroup">Require group</a></li><li><a href="mod/mod_authz_host.html#reqhost">Require host</a></li><li><code class="directive"><a href="./mod/mod_ssl.html#sslrequire">SSLRequire</a></code></li><li><code class="directive"><a href="./mod/mod_log_debug.html#logmessage">LogMessage</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><a href="env.html">Variables d’environnement dans Apache httpd</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="grammar">Syntaxe en Forme de Backus-Naur <a title="Lien permanent" href="#grammar" class="permalink">¶</a></h2>
la phase d'authentification. Par conséquent, la variable
<code>%{REMOTE_USER}</code> ne sera pas encore définie à ce stade.</p>
+ <p>Pour des informations à propos de la définition et de la manipulation des
+ variables d’environnement de requête (en utilisant <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code>, <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, le drapeau <code>[E=...]</code>
+ de <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s et d’autres directives), voir <a href="env.html">Variables d’environnement dans Apache httpd</a>.</p>
+
<p>Les variables suivantes contiennent la valeur de l'en-tête de
requête HTTP correspondant. La <a href="#functions">fonction</a>
<code>req</code> permet d'extraire les valeurs des autres
<tr class="odd"><td><code>REQUEST_SCHEME</code></td>
<td>Le protocole associé à l'URI de la requête</td></tr>
<tr><td><code>REQUEST_URI</code></td>
- <td>La partie chemin de l'URI de la requête</td></tr>
+ <td>La partie chemin de l'URI de la requête en excluant la chaîne de
+ paramètres. Notez que cette variable diffère de la variable
+ d’environnement CGI de même nom qui, quant à elle, inclut la chaîne de
+ paramètres.</td></tr>
<tr class="odd"><td><code>DOCUMENT_URI</code></td>
<td>Idem <code>REQUEST_URI</code></td></tr>
<tr><td><code>REQUEST_FILENAME</code></td>
l'expression a été utilisée.
</div>
+ <p>La fonction <code>reqenv</code> permet de tester les <a href="env.html#special">variables d’environnement à utilisation spéciale</a>
+ (telles que <code>no-gzip</code>, <code>nokeepalive</code>, etc.), ainsi que
+ toute variable définie à l’aide de <a href="env.html#setting">SetEnv,
+ SetEnvIf ou mod_rewrite</a>.</p>
+
<p>Lorsque les fonctions <code>req</code> ou <code>http</code> sont
utilisées, le nom d'en-tête sera automatiquement ajouté à l'en-tête
Vary de la réponse HTTP, sauf spécification contraire pour la
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../tr/faq/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="../zh-cn/faq/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </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>La FAQ a été transférée vers le <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">Wiki du serveur HTTP</a>.</p>
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">tr</variant>
<variant outdated="yes">zh-cn</variant>
</variants>
<a href="./fr/getting-started.html" title="Français"> fr </a> |
<a href="./ru/getting-started.html" hreflang="ru" rel="alternate" title="Russian"> ru </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>Si vous ne connaissez rien au serveur HTTP Apache, ou même au
fonctionnement d'un site web, vous vous demandez probablement par où
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant>ru</variant>
</variants>
</metafile>
<a href="../es/howto/access.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/access.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Le contrôle d'accès fait référence à tout concept de contrôle
d'accès à une ressource quelconque. Il est distinct du processus d'<a href="auth.html">authentification et d'autorisation</a>.</p>
<p>Voir aussi le How-To <a href="auth.html">Authentification and
autorisation</a>.</p>
+
+ <p>Voir la <a href="../sections.html#merging">documentation sur la fusion
+ des sections de configuration</a> pour un avertissement à propos de la
+ manière dont la directive <code class="directive"><a href="../mod/core.html#limit"><Limit></a></code> au sein d’une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> peut outrepasser
+ silencieusement les restrictions d’accès d’une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>.</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English"> en </a> |
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/howto/auth.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>L'authentification est un processus qui vous permet de vérifier
qu'une personne est bien celle qu'elle prétend être. L'autorisation
l'autorisation d'accès. Voir <a href="../mod/mod_authz_core.html#logic">Conteneurs
d'autorisations</a> pour un exemple de la manière de les
utiliser pour exprimer des logiques d'autorisation
- complexes.</p>
+ complexes. Chaque fournisseur d’autorisation renvoie un des trois
+ résultats possibles ; voir <a href="../mod/mod_authz_core.html#authzresults">États des résultats
+ d’autorisation</a> pour des détails sur la manière dont les conteneurs
+ interprètent ces résultats.</p>
<p>Par défaut, toutes les directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> sont
traitées comme si elles étaient contenues dans une directive
<h3 id="filesystem">Compatibilité ascendante du contrôle
d'accès</h3>
<p>L'adoption d'un mécanisme à base de fournisseurs pour
- l'authentification, a pour effet colatéral de rendre inutiles
+ l'autorisation, a pour effet colatéral de rendre inutiles
les directives <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code>. Cependant, et à
des fins de compatibilité ascendante vers les anciennes
configurations, ces directives ont été déplacées vers le module
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#intro">Introduction</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#configuring">Configurer httpd pour autoriser CGI</a></li>
<p>CGI (Common Gateway Interface) définit une méthode d'interaction
entre un serveur web et des programmes générateurs de contenu
- externes, plus souvent appelés programmes CGI ou scripts CGI.
- Il s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site
+ externes, plus souvent appelés programmes CGI ou scripts CGI. Il
+ s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site
web en utilisant votre langage de programmation préféré.
Ce document est une introduction à la configuration de CGI sur votre
- serveur web httpd, et une initiation à l'écriture de programmes
+ serveur web HTTP Apache, et une initiation à l'écriture de programmes
CGI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
d'environnement</a> non standards, vous devrez vous assurez que
ces variables lui sont bien transmises par httpd.</p>
- <p>Lorsque des en-têtes HTTP ne sont pas transmis à
- l'environnement, assurez-vous qu'ils sont bien formatés selon la
- <a href="http://tools.ietf.org/html/rfc2616">RFC 2616</a>, section
- 4.2 : les noms d'en-têtes doivent commencer par une lettre,
- elle-même suivie de lettres, chiffres ou traits d'union. Tout
- en-tête dont le nom viole cette règle sera ignoré.</p>
+ <p>Lorsque des en-têtes HTTP ne sont pas transmis à l'environnement,
+ assurez-vous qu'ils sont bien formatés selon la <a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a>, section
+ 4.2 : les noms d'en-têtes doivent commencer par une lettre, elle-même
+ suivie de lettres, chiffres ou traits d'union. Tout en-tête dont le nom
+ viole cette règle sera ignoré.</p>
<p>Pour savoir si vous pouvez utiliser suexec, tapez la commande
<code>apachectl -V</code>, et regardez le chemin indiqué par
- <code>SUEXEC_BIN</code>. Si au démarrage de httpd, ce dernier
+ <code>SUEXEC_BIN</code>. Si au démarrage d'httpd, ce dernier
trouve un exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> dans ce chemin,
suexec sera activé.</p>
serveur (httpd, IIS, WebSite), le nom du programme CGI en cours
d'exécution, etc...</p>
- <p>Ces variables sont à la disposition du programmeur CGI, et
- elles constituent 50% de la communication client-serveur. La liste
- complète des variables requises se trouve à
- <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
- Interface RFC</a>.</p>
+ <p>Ces variables sont à la disposition du programmeur CGI, et elles
+ constituent 50% de la communication client-serveur. La liste complète des
+ variables requises se trouve dans la <a href="https://www.rfc-editor.org/rfc/rfc3875">RFC 3875</a> (Common Gateway
+ Interface).</p>
<p>Ce programme CGI basique en Perl permet d'afficher toutes les
variables d'environnement qui sont échangées. Deux programmes
la majorité des programmes.</p>
<p>Si vous écrivez des programmes CGI en C, vous disposez de nombreuses
- options. L'une d'elles est la bibliothèque <code>CGIC</code> de <a href="https://web.mit.edu/wwwdev/www/cgic.html">https://web.mit.edu/wwwdev/www/cgic.html</a>.</p>
+ options. L'une d'elles est la bibliothèque <code>CGIC</code> de <a href="https://web.mit.edu/wwwdev/www/cgic.html">https://web.mit.edu/wwwdev/www/cgic.html</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="moreinfo">Pour plus d'informations <a title="Lien permanent" href="#moreinfo" class="permalink">¶</a></h2>
- <p>La spécification CGI actuelle est disponible dans la <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway
- Interface RFC</a>.</p>
+ <p>La spécification CGI actuelle est disponible dans la <a href="https://www.rfc-editor.org/rfc/rfc3875">RFC 3875</a>
+ (Common Gateway Interface).</p>
<p>Lorsque vous postez une question à propos d'un problème CGI que
vous rencontrez, que ce soit dans une liste de diffusion ou dans un
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </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>Les fichiers <code>.htaccess</code> fournissent une méthode pour
-modifier la configuration du serveur au niveau de chaque répertoire.</p>
+modifier la configuration du serveur au niveau de chaque répertoire, sans
+modifier les fichiers de configuration principaux du serveur.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#related">Fichiers .htaccess</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
<div class="section">
<h2 id="related">Fichiers .htaccess <a title="Lien permanent" href="#related" class="permalink">¶</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/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
- <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
- que si vous n'avez pas accès au fichier de configuration du serveur
- principal. L'utilisation des fichiers <code>.htaccess</code>
- ralentit le fonctionnement de votre serveur HTTP Apache. Il est toujours
- préférable de définir les directives que vous pouvez inclure dans un
- fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
- même effet avec de meilleures performances.</div>
+ <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/core.html">core</a></code></li><li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="what">Que sont ce fichiers, comment les utiliser ? <a title="Lien permanent" href="#what" class="permalink">¶</a></h2>
</div>
- <p>En général, les fichiers <code>.htaccess</code> utilisent la même
+ <p>Les directives dans les fichiers <code>.htaccess</code> utilisent la même
syntaxe que les <a href="../configuring.html#syntax">fichiers de
configuration principaux</a>. Ce que vous pouvez mettre dans ces
- fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
+ fichier est déterminé par les directives <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> et <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code>. La directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> spécifie,
sous forme de catégories, quelles directives seront traitées si
- elles se trouvent dans un fichier <code>.htaccess</code>. Si une
- directive est permise dans un fichier <code>.htaccess</code> file,
+ elles se trouvent dans un fichier <code>.htaccess</code>, alors que la
+ directive <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code> nomme individuellement les
+ directives permises (voir <a href="#when">ci-après</a>). Si une
+ directive est permise dans un fichier <code>.htaccess</code>,
la documentation de cette directive contiendra une section Override,
- spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
+ spécifiant quelle valeur doit prendre la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
soit traitée.</p>
+ <div class="note">La valeur par défaut de la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est <code>None</code>. Cela signifie
+ que les fichiers <code>.htaccess</code> seront complètement ignorés, à moins
+ que vous ne les autorisiez explicitement pour un répertoire.</div>
+
<p>Par exemple, si vous regardez la documentation de la directive
<code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
que cette dernière est permise dans les fichiers
<code>AllowOverride FileInfo</code> pour que cette directive soit
traitée dans les fichiers <code>.htaccess</code>.</p>
- <div class="example"><h3>Exemple :</h3><table>
- <tr>
- <td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
- <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
- </tr>
-
- <tr>
- <td><a href="../mod/directive-dict.html#Override">Override:</a></td>
- <td>FileInfo</td>
- </tr>
- </table></div>
-
- <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
- dans un fichier <code>.htaccess</code>, lisez la documentation de
- cette directive, et consultez la ligne de contexte pour
- ".htaccess".</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="when">Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ? <a title="Lien permanent" href="#when" class="permalink">¶</a></h2>
- <p>En principe, vous ne devriez utiliser les fichiers
- <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
- être faite dans les fichiers <code>.htaccess</code> est très
- répandue. Il est aussi souvent avancé, ces dernières
- années, que les directives de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent
- être définies dans les fichiers <code>.htaccess</code>. Ceci est
- tout simplement faux. Vous pouvez configurer
- l'authentification des utilisateurs au niveau de la configuration du
- serveur principal, et c'est en fait cette méthode qui doit être
- privilégiée. De même, les directives de
- <code>mod_rewrite</code> fonctionneront mieux, à de nombreux égards,
- dans le contexte du serveur principal.</p>
-
- <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
- que dans le cas où les fournisseurs de contenu ont besoin de
- modifier la configuration du serveur au niveau d'un répertoire, mais
- ne possèdent pas l'accès root sur le système du serveur. Si
- l'administrateur du serveur ne souhaite pas effectuer des
- modifications de configuration incessantes, il peut être intéressant
- de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
- modifications par le biais de fichiers <code>.htaccess</code>. Ceci
- est particulièrement vrai dans le cas où le fournisseur d'accès à
- Internet héberge de nombreux sites d'utilisateurs sur un seul
- serveur, et souhaite que ces utilisateurs puissent modifier
- eux-mêmes leurs configurations.</p>
-
- <p>Cependant et d'une manière générale, il vaut mieux éviter
- d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
- configuration que vous pourriez vouloir mettre dans un fichier
- <code>.htaccess</code>, peut aussi être mis, et avec la même
- efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de configuration de
- votre serveur principal.</p>
-
- <p>Il y a deux raisons principales d'éviter l'utilisation des
- fichiers <code>.htaccess</code>.</p>
-
- <p>La première est liée aux performances. Lorsque la directive
+ <p>Si vous avez accès au fichier de configuration principal du serveur, il
+ est préférable d’y mettre toute votre configuration, plutôt que d’utiliser
+ des fichiers <code>.htaccess</code>. Cela concerne l’authentification de
+ l’utilisateur, les règles de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> et tout ce que
+ vous seriez tenté de mettre dans un fichier <code>.htaccess</code>. Les
+ directives du fichier de configuration principal ne sont chargées qu’une
+ seule fois au démarrage du serveur et non pas à chaque requête, et en
+ particulier, <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> fonctionne mieux dans un contexte
+ de configuration globale du serveur.</p>
+
+ <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés que dans
+ le cas où les fournisseurs de contenu ont besoin de modifier la
+ configuration du serveur au niveau d'un répertoire, mais ne possèdent pas
+ l'accès du superutilisateur sur le système du serveur. Cela est courant dans
+ les environnements d’hébergement géré, l’hébergement basé sur un panneau de
+ contrôle (comme cPanel ou Plesk) et les systèmes de gestion de contenu où
+ l’application fournit un fichier <code>.htaccess</code> avec sa
+ distribution. Si l’administrateur du serveur n’a pas envie d’effectuer des
+ changements de configuration incessants, il peut être intéressant de
+ permettre aux utilisateurs isolés d'effectuer eux-mêmes ces modifications
+ par le biais de fichiers <code>.htaccess</code>.</p>
+
+ <p>Il y a deux raisons de préférer le fichier de configuration principal
+ aux fichiers <code>.htaccess</code> : la performance et la sécurité.</p>
+
+ <p><strong>Performance :</strong> Lorsque la directive
<code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
httpd va rechercher leur présence dans chaque répertoire. Ainsi,
<code>/www/htdocs/exemple</code>, httpd doit rechercher les
fichiers suivants :</p>
- <div class="example"><p><code>
- /.htaccess<br>
- /www/.htaccess<br>
- /www/htdocs/.htaccess<br>
- /www/htdocs/exemple/.htaccess
- </code></p></div>
+ <pre class="prettyprint lang-config">/.htaccess
+/www/.htaccess
+/www/htdocs/.htaccess
+/www/htdocs/example/.htaccess</pre>
+
<p>En conséquence, chaque accès à un fichier de ce répertoire
nécessite 4 accès au système de fichiers supplémentaires pour
autorisés pour le répertoire <code>/</code>, ce qui est rarement le
cas.</p>
- <p>La seconde raison d'éviter l'utilisation des fichiers
- <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
+ <p><strong>Sécurité :</strong> Si vous permettez aux
utilisateurs de modifier la configuration du serveur, il peut en
résulter des conséquences sur lesquelles vous n'aurez aucun
contrôle. Réfléchissez bien avant de donner ce privilège à vos
diriger les utilisateurs vers la documentation correspondante vous
évitera bien des confusions ultérieures.</p>
+ <p>Si vous devez autoriser les fichiers <code>.htaccess</code> mais voulez
+ n’autoriser que l’utilisation de directives spécifiques au lieu de
+ catégories entières de directives, utilisez la directive <code class="directive"><a href="../mod/core.html#allowoverridelist">AllowOverrideList</a></code>. Cette dernière vous permet de
+ nommer individuellement les directives autorisées, vous permettant ainsi un
+ contrôle plus fin que dans le cas de la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> seule :</p>
+
+ <pre class="prettyprint lang-config"># N’autoriser que des directives spécifiques, pas des catégories entières de
+# directives
+AllowOverride None
+AllowOverrideList Redirect RedirectMatch RewriteEngine RewriteRule RewriteCond</pre>
+
+
+ <p>Avec cette configuration, toute directive non explicitement spécifiée
+ causera une erreur du serveur si elle est rencontrée dans un fichier
+ <code>.htaccess</code>. C’est un bon compromis entre possibilité et
+ impossibilité totales d’outrepasser la configuration globale.</p>
+
<p>Notez que mettre un fichier <code>.htaccess</code> contenant une
directive dans un répertoire <code>/www/htdocs/exemple</code>
revient exactement au même que mettre la même directive dans une
<div class="example"><h3>Section de votre fichier
<code>httpd.conf</code></h3><pre class="prettyprint lang-config"><Directory "/www/htdocs/example">
- AddType text/example .exm
+ AddType text/example ".exm"
</Directory></pre>
</div>
- <p>Cependant, la perte de performances sera moindre si vous
- définissez cette directive dans la configuration de
- votre serveur principal, car cette dernière ne sera chargée qu'une
- seule fois au moment du démarrage du serveur, alors qu'elle le sera
- à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
-
<p>L'utilisation des fichiers <code>.htaccess</code> peut être
entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>
<div class="section">
<h2 id="auth">Exemple d'authentification <a title="Lien permanent" href="#auth" class="permalink">¶</a></h2>
- <p>Si vous accédez directement à ce point du document pour apprendre
- à effectuer une authentification, il est important de noter ceci. Il
- existe une fausse idée selon laquelle il serait nécessaire
- d'utiliser les fichiers <code>.htaccess</code> pour implémenter
- l'authentification par mot de passe. Ceci est tout simplement faux.
- Pour y parvenir, il est préférable de mettre les directives
- d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> du fichier de configuration de
- votre serveur principal, et les fichiers <code>.htaccess</code> ne
- devraient être utilisés que dans le cas où vous n'avez pas accès au
- fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
- ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
-
- <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
- un fichier <code>.htaccess</code>, vous pouvez utiliser la
- configuration suivante :</p>
+ <p>Comme avec toute utilisation de fichier <code>.htaccess</code>, placer
+ ces directives dans une section <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> est préférable si vous avez accès au
+ fichier de configuration principal (voir <a href="#when">ci-avant</a>).
+ L’exemple suivant montre l’approche <code>.htaccess</code> :</p>
<p>Contenu du fichier <code>.htaccess</code> :</p>
<h2 id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI) <a title="Lien permanent" href="#ssi" class="permalink">¶</a></h2>
- <p>Les fichiers <code>.htaccess</code> sont aussi couramment
- utilisés pour activer les SSI pour un répertoire particulier. Pour y
- parvenir, on utilise les directives de configuration suivantes,
- placées dans un fichier <code>.htaccess</code> enregistré dans le
- répertoire considéré :</p>
+ <p>Les fichiers <code>.htaccess</code> sont aussi utilisés pour activer les
+ SSI (Server Side Includes) pour un répertoire particulier. Pour y parvenir,
+ on utilise les directives de configuration suivantes, placées dans un
+ fichier <code>.htaccess</code> enregistré dans le répertoire considéré :</p>
<pre class="prettyprint lang-config">Options +Includes
-AddType text/html shtml
+AddType text/html "shtml"
AddHandler server-parsed shtml</pre>
remplacement. Il doit donc en être de même dans votre expression
rationnelle.</p>
+<p>Notez aussi que dans un contexte <code>.htaccess</code>, les expressions
+rationnelles sont recompilées à chaque requête, alors que dans un contexte de
+configuration principale, elle ne sont compilées qu’une seule fois et mises en
+cache.</p>
+
<p>Veuillez vous référer à cette <a href="../rewrite/">documentation</a>
pour une étude détaillée de l'utilisation du module
-<code>mod_rewrite</code>.</p>
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="cgi">Exemple de CGI <a title="Lien permanent" href="#cgi" class="permalink">¶</a></h2>
- <p>En fin de compte, vous avez décidé d'utiliser un fichier
- <code>.htaccess</code> pour permettre l'exécution des programmes CGI
- dans un répertoire particulier. Pour y parvenir, vous pouvez
- utiliser la configuration suivante :</p>
+ <div class="note">Les scripts CGI constituent un mécanisme de gestion de contenu
+ dynamique patrimonial. Pour les nouveaux déploiements, pensez à utiliser
+ <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code> avec un serveur d’applications FastCGI ou un
+ gestionnaire spécifique à un cadriciel. Les informations ci-après restent
+ cependant valables pour les environnements qui reposent encore sur une CGI
+ traditionnelle.</div>
+
+ <p>Vous pouvez utiliser un fichier <code>.htaccess</code> pour autoriser
+ l’exécution de programmes CGI dans un répertoire particulier. Pour y
+ parvenir, vous pouvez utiliser la configuration suivante :</p>
<pre class="prettyprint lang-config">Options +ExecCGI
-AddHandler cgi-script cgi pl</pre>
+AddHandler cgi-script "cgi" "py"</pre>
<p>Alternativement, si vous souhaitez que tous les fichiers d'un
les directives que vous avez mises dans un fichier
<code>.htaccess</code> ne produisent pas l'effet désiré.</p>
- <p>Le plus souvent, le problème vient du fait que la définition de
- la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
- ne permet pas l'activation des directives de votre fichier
- <code>.htaccess</code>. Vérifiez si une directive
- <code>AllowOverride None</code> n'affecte pas le répertoire où se
- trouve votre fichier. Un bon test consiste à mettre des directives
- dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
- et de recharger la page. Si aucune erreur n'est générée par le
+ <p>Le plus souvent, le problème vient du fait que la définition de la
+ directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> ne permet pas
+ l'activation des directives de votre fichier <code>.htaccess</code>.
+ Vérifiez si une directive <code>AllowOverride None</code> n'affecte pas le
+ répertoire où se trouve votre fichier. Un bon test consiste à mettre un mot
+ dénué de sens dans votre ficher <code>.htaccess</code> et de recharger la
+ page :</p>
+
+ <pre class="prettyprint lang-config">TestMe</pre>
+
+
+ <p>Si aucune erreur (HTTP 500) n'est générée par le
serveur, il est pratiquement certain qu'une directive
<code>AllowOverride None</code> affecte votre répertoire.</p>
utilisée dans votre fichier <code>.htaccess</code> n'est pas
permise.</p>
-<div class="example"><p><code>
- [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
-</code></p></div>
+ <pre class="prettyprint lang-config">[Tue May 06 09:12:31.528374 2025] [core:alert] [pid 12345] [client 192.168.1.50:54321] /var/www/html/.htaccess: DirectoryIndex not allowed here</pre>
+
+
<p>Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers <code>.htaccess</code>, soit
que vous n'avez tout simplement pas défini la directive
<p>Le journal des erreurs peut aussi vous signaler une erreur de
syntaxe dans l'usage de la directive elle-même.</p>
- <div class="example"><p><code>
- [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
- </code></p></div>
+ <pre class="prettyprint lang-config">[Tue May 06 09:14:02.946218 2025] [core:alert] [pid 12345] [client 192.168.1.50:54321] /var/www/html/.htaccess: RewriteCond: bad flag delimiters</pre>
+
<p>Dans ce cas, le message d'erreur sera spécifique à l'erreur
de syntaxe que vous avez commise.</p>
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant>pt-br</variant>
<a href="../es/howto/http2.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/http2.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2
dans Apache httpd. Cette fonctionnalité en est au stade
requêtes, des réponses et des en-têtes. Par conséquent, si vous connaissez
HTTP/1, vous connaissez déjà 95% de HTTP/2.</p>
<p>Beaucoup a déjà été écrit à propos de HTTP/2 et de son fonctionnement. La
- documentation la plus officielle est bien entendu sa <a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a> (ou <a href="http://httpwg.org/specs/rfc7540.html">cette version au format plus
- lisible</a>). Vous trouverez ici une description des rouages de HTTP/2 dans
+ documentation la plus officielle est bien entendu sa <a href="https://www.rfc-editor.org/rfc/rfc7540">RFC 7540</a> (ou cette version au format plus
+ lisible : YMMV (<a href="https://www.rfc-editor.org/rfc/rfc7540">RFC 7540</a>). Vous trouverez ici une description des rouages de HTTP/2 dans
leurs moindres détails.</p>
<p>Le premier document à lire lorsqu'on ne connaît pas un mécanisme n'est
cependant pas sa RFC. Il est préférable de comprendre tout d'abord <em>ce
<li>Une <strong>frame</strong> ou trame est la plus petite unité de
communication au sein d'une connexion HTTP/2 et comporte une en-tête et
une séquence d'octets de longueur variable dont la structure correspond
- au type de trame. Voir la <a href="http://httpwg.org/specs/rfc7540.html#FramingLayer">section
- correspondante</a> de la documentation officielle pour plus de
- détails.</li>
- <li>Un <strong>stream</strong> est un flux bidirectionnel de frames au
- sein d'une connexion HTTP/2. La notion correspondante dans HTTP/1 est un
- échange de messages de type requête et réponse. Voir la <a href="http://httpwg.org/specs/rfc7540.html#StreamsLayer">section
- correspondante</a> de la documentation officielle pour plus de détails.</li>
+ au type de trame. Voir la section correspondante de la documentation
+ officielle pour plus de détails (<a href="https://www.rfc-editor.org/rfc/rfc7540">RFC 7540</a>).</li> <li>Un
+ <strong>stream</strong> est un flux bidirectionnel de frames au sein
+ d'une connexion HTTP/2. La notion correspondante dans HTTP/1 est un
+ échange de messages de type requête et réponse. Voir la section
+ correspondante de la documentation officielle pour plus de détails
+ (<a href="https://www.rfc-editor.org/rfc/rfc7540">RFC 7540</a>).</li>
<li>HTTP/2 peut gérer <strong>plusieurs streams</strong> de données sur
la même connexion TCP, ce qui permet d'éviter le point de blocage
classique de HTTP/1 pour les requêtes lentes, et de ne pas avoir à
lorsqu'on configure httpd pour HTTP/2 pour la première fois ; donc gardez la
à l'esprit si vous voulez éviter de longues sessions de débogage ! Si vous
voulez être sûr de définir une chaîne d'algorithmes de chiffrement
- appropriée, évitez ceux qui sont listés dans la <a href="http://httpwg.org/specs/rfc7540.html#BadCipherSuites"> </a>liste des
- algorithmes de chiffrement TLS HTTP/2 à proscrire.</p>
+ appropriée, évitez ceux qui sont listés dans la liste des
+ algorithmes de chiffrement TLS HTTP/2 à proscrire (<a href="https://www.rfc-editor.org/rfc/rfc7540">RFC 7540</a>).</p>
</div>
<p>L'ordre des protocoles indiqués est aussi important. Par défaut, le
premier sera le protocole préféré. Lorsqu'un client offre plusieurs choix,
d'informer le serveur des ressources qu'il possède déjà dans son cache afin
d'éviter les PUSHes pour ces dernières, mais ceci n'en est actuellement qu'à
un stade très expérimental.</p>
- <p>L'<a href="https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00">
+ <p>L'<a href="https://datatracker.ietf.org/doc/html/draft-ruellan-http-accept-push-policy-00">
en-tête Accept-Push-Policy</a> est un autre dispositif expérimental
implémenté dans <code class="module"><a href="../mod/mod_http2.html">mod_http2</a></code> ; il permet au client de définir pour
chaque requête quels genres de PUSHes il accepte.</p>
<p>A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
des en-têtes <code>Link</code> au client avant même que la réponse ne soit
prête. Cette méthode utilise la fonctionnalité appelée "Suggestions
- précoces" (Early Hints) décrite dans la <a href="https://tools.ietf.org/html/rfc8297">RFC 8297</a>.</p>
+ précoces" (Early Hints) décrite dans la <a href="https://www.rfc-editor.org/rfc/rfc8297">RFC 8297</a>.</p>
<p>Pour utiliser cette fonctionnalité, vous devez l'activer explicitement
sur le serveur via :</p>
<pre class="prettyprint lang-config">H2EarlyHints on</pre>
<variants>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="./tr/" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<form method="get" action="https://www.google.com/search"><p><input name="as_q" value="" type="text"> <input value="Recherche Google" type="submit"><input value="10" name="num" type="hidden"><input value="fr" name="hl" type="hidden"><input value="UTF-8" name="ie" type="hidden"><input value="Google Search" name="btnG" type="hidden"><input name="as_epq" value="Version 2.4" type="hidden"><input name="as_oq" value="" type="hidden"><input name="as_eq" value=""List-Post"" type="hidden"><input value="" name="lr" type="hidden"><input value="i" name="as_ft" type="hidden"><input value="" name="as_filetype" type="hidden"><input value="all" name="as_qdr" type="hidden"><input value="any" name="as_occt" type="hidden"><input value="i" name="as_dt" type="hidden"><input value="httpd.apache.org" name="as_sitesearch" type="hidden"><input value="off" name="safe" type="hidden"></p></form>
<table id="indextable"><tr><td class="col1"><div class="category"><h2><a name="release" id="release">Notes de version</a></h2>
<ul><li><a href="new_features_2_4.html">Nouvelles fonctionnalités d'Apache 2.3/2.4</a></li>
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant>pt-br</variant>
<a href="./pt-br/invoking.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> |
<a href="./tr/invoking.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>Sous Windows, Apache est habituellement lancé en tant que
service. Pour plus de détails, voir <a href="platform/windows.html#winsvc">Démarrer Apache en tant
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant>pt-br</variant>
<a href="../ko/misc/perf-tuning.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/misc/perf-tuning.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>Apache 2.x est un serveur web à usage général, conçu dans un but
- <p>Comme discuté dans <a href="http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt">
+ <p>Comme discuté dans <a href="https://datatracker.ietf.org/doc/html/draft-ietf-http-connection-00">
draft-ietf-http-connection-00.txt</a> section 8, pour implémenter de
manière <strong>fiable</strong> le protocole, un serveur HTTP doit fermer
les deux directions d'une communication indépendamment (rappelez-vous
déconseillé. En particulier, comme les connexions persistantes en
pipeline de HTTP/1.1 commencent à être utilisées,
<code>lingering_close</code> devient une absolue nécessité (et les
- <a href="http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">
+ <a href="https://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">
connexions en pipeline sont plus rapides</a> ; vous avez donc tout
intérêt à les supporter).</p>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
<a href="../fr/misc/relevant_standards.html" title="Français"> fr </a> |
<a href="../ko/misc/relevant_standards.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Cette page documente tous les standards applicables que suit le
serveur HTTP Apache, accompagnés d'une brève description.</p>
<ul>
<li>
- <a href="http://purl.org/NET/http-errata">
- http://purl.org/NET/http-errata</a> - Corrections de la
+ <a href="https://www.skrb.org/ietf/http_errata.html">
+ https://www.skrb.org/ietf/http_errata.html</a> - Corrections de la
spécification HTTP/1.1
</li>
<li>
- <a href="http://www.rfc-editor.org/errata.php">
- http://www.rfc-editor.org/errata.php</a> - Corrections des RFCs
+ <a href="https://www.rfc-editor.org/errata.php">
+ https://www.rfc-editor.org/errata.php</a> - Corrections des RFCs
</li>
<li>
- <a href="http://ftp.ics.uci.edu/pub/ietf/http/#RFC">
- http://ftp.ics.uci.edu/pub/ietf/http/#RFC</a> - Une liste
+ <a href="https://httpwg.org/specs/">
+ https://httpwg.org/specs/</a> - Une liste
précompilée des RFCs en rapport avec HTTP
</li>
</ul>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#http_recommendations">Recommandations HTTP</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#html_recommendations">Recommandations HTML</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#authentication">Authentification</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#language_country_codes">Codes de langues et de
+<li><img alt="" src="../images/down.gif"> <a href="#language_country_codes">Codes de langages et de
pays</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="http_recommendations">Recommandations HTTP <a title="Lien permanent" href="#http_recommendations" class="permalink">¶</a></h2>
- <p>Indépendamment des modules compilés et utilisés, Apache en
+ <p>Sans tenir compte des modules compilés et utilisés, Apache en
tant que serveur web de base respecte les recommandations IETF
suivantes :</p>
<dl>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc1945.txt">RFC 1945</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc1945">RFC 1945</a>
(Informations)</dt>
<dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
distribués, collaboratifs et hypermédia. Cette RFC documente le
protocole HTTP/1.0.</dd>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC 2616</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a>
(Série de standards)</dt>
<dd>Le Protocole de Transfert Hypertexte (Hypertext Transfer
systèmes d'informations distribués, collaboratifs et hypermédia.
Cette RFC documente le protocole HTTP/1.1.</dd>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc2396.txt">RFC 2396</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc2396">RFC 2396</a>
(Série de standards)</dt>
<dd>Un Identificateur de Ressource Uniforme (Uniform Resource
Identifier - URI) est une chaîne de caractères compacte permettant
d'identifier une ressource physique ou abstraite.</dd>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc4346.txt">RFC 4346</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc4346">RFC 4346</a>
(Série de standards)</dt>
<dd>Le protocole TLS permet l'utilisation de communications
recommandations IETF et W3C suivantes :</p>
<dl>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc2854.txt">RFC 2854</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc2854">RFC 2854</a>
(Informations)</dt>
<dd>Ce document résume l'historique du développement de HTML, et
<dt><a href="http://www.w3.org/TR/html401">Spécification HTML
4.01</a>
(<a href="http://www.w3.org/MarkUp/html4-updates/errata">Corrections
- d'erreurs</a>)
+ Erreurs</a>)
</dt>
<dd>Cette spécification définit le Langage à Balises HyperTexte
Apache respecte les recommandations IETF suivantes :</p>
<dl>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc2617.txt">RFC 2617</a>
- (Le track des standards)</dt>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc2617">RFC 2617</a>
+ (Série de standards)</dt>
- <dd>"HTTP/1.0", y compris la spécification d'un protocole basique
- d'authentification et de contrôle d'accès.</dd>
+ <dd>"HTTP/1.0", y compris la spécification d'un protocole
+ d'authentification et de contrôle d'accès basique.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="language_country_codes">Codes de langues et de
+<h2 id="language_country_codes">Codes de langages et de
pays <a title="Lien permanent" href="#language_country_codes" class="permalink">¶</a></h2>
<p>Les liens suivants fournissent des informations à propos des
- codes de langues et de pays aux normes ISO ou autres :</p>
+ codes de langages et de pays aux normes ISO ou autres :</p>
<dl>
<dt><a href="http://www.loc.gov/standards/iso639-2/">ISO 639-2</a></dt>
- <dd>ISO 639 fournit deux jeux de codes de langues permettant de
+ <dd>ISO 639 fournit deux jeux de codes de langages permettant de
représenter les noms des langues ; le premier est
un jeu de codes sur deux lettres (639-1), le second (celui
présenté dans le lien ci-dessus), est un jeu de codes sur trois
présentés dans la norme ISO 3166-1 et les éléments de codes
correspondants de la norme ISO 3166-1-alpha-2.</dd>
- <dt><a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a>
- (Les meilleurs pratiques courantes),
- <a href="http://www.rfc-editor.org/rfc/rfc3066.txt">RFC 3066</a></dt>
+ <dt><a href="https://www.rfc-editor.org/rfc/bcp/bcp47.txt">BCP 47</a> (Les
+ meilleurs pratiques courantes), <a href="https://www.rfc-editor.org/rfc/rfc3066">RFC 3066</a></dt>
<dd>Ce document décrit une balise de langue permettant de
- spécifier la langue utilisé dans un objet contenant des
+ spécifier la langue utilisée dans un objet contenant des
informations, la manière d'enregistrer des valeurs à utiliser dans
- cette balise de langage, et une méthode pour comparer les balises
+ cette balise de langue, et une méthode pour comparer les balises
de langue de ce style.</dd>
- <dt><a href="http://www.rfc-editor.org/rfc/rfc3282.txt">RFC 3282</a>
+ <dt><a href="https://www.rfc-editor.org/rfc/rfc3282">RFC 3282</a>
(Série de standards)</dt>
- <dd>Ce document définit un en-tête "Content-language:" permettant
- de spécifier le langage d'un élément possédant des en-têtes du
+ <dd>Ce document définit une en-tête "Content-language:" permettant
+ de spécifier la langue d'un élément possédant des en-têtes du
style RFC 822, comme les portions de corps MIME ou les documents
Web, et un en-tête "Accept-Language:" permettant de spécifier des
préférences en matière de langue.</dd>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
<a href="../ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/misc/security_tips.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document propose quelques conseils et astuces concernant les
problèmes de sécurité liés
<li><img alt="" src="../images/down.gif"> <a href="#nsaliasedcgi">CGI sans alias de script</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#saliasedcgi">CGI avec alias de script</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#dynamic">Autres sources de contenu dynamique</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#dynamicsec">Sécurité des contenus dynamiques</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#systemsettings">Protection de la configuration du système</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#protectserverfiles">Protection par défaut des fichiers du serveur</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#watchyourlogs">Surveillez vos journaux</a></li>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
+<h2 id="dynamicsec">Sécurité des contenus dynamiques <a title="Lien permanent" href="#dynamicsec" class="permalink">¶</a></h2>
+
+
+
+ <p>Quand vous utilisez des cadriciels à contenu dynamique — que ce soit à
+ travers <code>mod_php</code>, <code>mod_perl</code>, <code>mod_python</code>
+ ou tout autre générateur de contenu intégré ou externe — les responsabilités
+ en matière de sécurité s’étendent au-delà de httpd lui-même. Chaque cadriciel
+ possède ses propres modèle de sécurité, options de configuration et guides de
+ durcissement. Consultez la documentation de la technologie que vous utilisez
+ pour générer du contenu dynamique et maintenez cette dernière à jour.</p>
+
+ <p>Les principes généraux s’appliquent à tout cadriciel :</p>
+ <ul>
+ <li>Accordez des privilèges minimaux à vos scripts et applications.</li>
+ <li>Vérifiez et nettoyez toute entrée de l’utilisateur.</li>
+ <li>Maintenez à jour votre cadriciel de contenu et ses dépendances.</li>
+ <li>Vérifiez la configuration de la sécurité de votre cadriciel — les valeurs
+ par défaut ne sont pas toujours appropriées en matière de sécurité.</li>
+ </ul>
+
+ <p>Au niveau de httpd, un pare-feu d’application web tel que <a href="https://modsecurity.org/">ModSecurity</a> peut fournir une couche
+ supplémentaire de défense en inspectant et filtrant le trafic HTTP avant qu’il
+ n’atteigne votre application.</p>
+
+ </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
<h2 id="systemsettings">Protection de la configuration du système <a title="Lien permanent" href="#systemsettings" class="permalink">¶</a></h2>
<p>Portez une attention particulière aux interactions entre les directives
<code class="directive"><a href="../mod/core.html#location">Location</a></code> et
<code class="directive"><a href="../mod/core.html#directory">Directory</a></code> ; par exemple, si une
- directive <code><Directory ""/></code> interdit un accès, une
+ directive <code><Directory "/"></code> interdit un accès, une
directive <code><Location "/"></code> pourra passer outre.</p>
<p>De même, soyez méfiant en jouant avec la directive
- <p>Pour vous tenir informé de ce qui se passe réellement dans votre
- serveur, vous devez consulter vos
- <a href="../logs.html">fichiers journaux</a>. Même si les fichiers journaux
- ne consignent que des évènements qui se sont déjà produits, ils vous
- informeront sur la nature des attaques qui sont lancées contre le serveur
- et vous permettront de vérifier si le niveau de sécurité nécessaire est
- atteint.</p>
+ <p>Pour vous tenir informé de ce qui se passe réellement dans votre serveur,
+ consultez régulièrement vos <a href="../logs.html">fichiers journaux</a>.
+ Les fichiers journaux ne consignent que des évènements qui se sont déjà
+ produits, mais ils vous informeront sur la nature des attaques qui sont
+ lancées et vous permettront de vérifier si la configuration de votre
+ sécurité est efficace.</p>
<p>Quelques exemples :</p>
- <div class="example"><p><code>
- grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log <br>
- grep "client denied" error_log | tail -n 10
- </code></p></div>
-
- <p>Le premier exemple listera les attaques essayant d'exploiter la
- <a href="http://online.securityfocus.com/bid/4876/info/">vulnérabilité
- d'Apache Tomcat pouvant provoquer la divulgation d'informations par des
- requêtes Source.JSP mal formées</a>, le second donnera la liste des dix
- dernières interdictions client ; par exemple :</p>
-
- <div class="example"><p><code>
- [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied
- by server configuration: /usr/local/apache/htdocs/.htpasswd
- </code></p></div>
+ <pre class="prettyprint lang-sh">grep -c "\.\.\/" access_log
+grep "client denied" error_log | tail -n 10</pre>
- <p>Comme vous le voyez, les fichiers journaux ne consignent que ce qui
- s'est déjà produit ; ainsi, si le client a pu accéder au fichier
- <code>.htpasswd</code>, vous devriez avoir quelque chose du style :</p>
+ <p>Le premier exemple compte les requêtes qui contiennent des séquences de
+ traversée de chemin — un signe connu de recherche de vulnérabilités. Le
+ second liste les dix « client denied » les plus récents ; par exemple :</p>
<div class="example"><p><code>
- foo.example.com - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1"
+ [Mon Apr 14 09:42:03.817295 2026] [authz_core:error] [pid 1234:tid 5678]
+ [client 192.168.1.100:54312] AH01630: client denied by server configuration:
+ /usr/local/apache2/htdocs/.env
</code></p></div>
- <p>dans votre <a href="../logs.html#accesslog">journal des accès</a> ; ce
- qui signifie que vous avez probablement mis en commentaire ce qui suit dans
- le fichier de configuration de votre serveur :</p>
+ <p>Comme vous pouvez le voir, les fichiers journaux ne mentionnent que ce
+ qu’il s’est déjà produit. Si le client avait pu accéder au fichier
+ <code>.env</code>, vous auriez vu une réponse <code>200</code> dans votre
+ fichier <a href="../logs.html#accesslog">Access Log</a> — ce qui aurait
+ signifié que la configuration de votre serveur devait être plus restrictive.
+ Assurez-vous d’interdire l’accès aux fichiers sensibles :</p>
- <pre class="prettyprint lang-config"><Files ".ht*">
+ <pre class="prettyprint lang-config"><FilesMatch "^\.(?!well-known)">
Require all denied
-</Files></pre>
+</FilesMatch></pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
followed by a comma-separated list, without spaces, of options that
may be set using the <code class="directive"><a href="#options">Options</a></code> directive.
- <div class="note"><h3>Implicit disabling of Options</h3>
- <p>Even though the list of options that may be used in .htaccess files
- can be limited with this directive, as long as any <code class="directive"><a href="#options">Options</a></code> directive is allowed any
- other inherited option can be disabled by using the non-relative
- syntax. In other words, this mechanism cannot force a specific option
- to remain <em>set</em> while allowing any others to be set.
- </p></div>
+ <div class="warning"><h3>Implicit disabling of Options</h3>
+ <p>This restriction only controls which options a
+ <code>.htaccess</code> file may <em>enable</em>. It does not
+ prevent inherited options from being <em>disabled</em>.</p>
+
+ <p>When a <code class="directive"><a href="#options">Options</a></code> directive
+ in <code>.htaccess</code> uses absolute syntax (without
+ <code>+</code> or <code>-</code> prefixes), it <em>replaces</em>
+ the entire inherited option set. Any previously active options
+ not listed are implicitly turned off—even options that are
+ not in the <code>AllowOverride</code> permitted list.</p>
+
+ <p>For example, if the server configuration sets:</p>
+ <pre class="prettyprint lang-config">Options Indexes FollowSymLinks ExecCGI
+AllowOverride Options=Indexes</pre>
+
+ <p>and a <code>.htaccess</code> file contains:</p>
+ <pre class="prettyprint lang-config">Options Indexes</pre>
+
+ <p>then <code>FollowSymLinks</code> and <code>ExecCGI</code> are
+ implicitly disabled for that directory, even though the
+ <code>AllowOverride</code> line only permits setting
+ <code>Indexes</code>.</p>
+
+ <p>In short, this mechanism cannot force a specific option to
+ remain <em>set</em> while allowing any others to be set.</p>
+ </div>
<pre class="prettyprint lang-config">AllowOverride Options=Indexes,MultiViews</pre>
<td>The current time</td></tr>
<tr><td><code>%{u}t</code></td>
<td>The current time including micro-seconds</td></tr>
-<tr class="odd"><td><code>%{cu}t</code></td>
+<tr class="odd"><td><code>%{m}t</code></td>
+ <td>The current time including milliseconds</td></tr>
+<tr><td><code>%{cu}t</code></td>
<td>The current time in ISO 8601 extended format (compact), including
micro-seconds</td></tr>
-<tr><td><code>%{cuz}t</code></td>
+<tr class="odd"><td><code>%{cuz}t</code></td>
<td>The current time in ISO 8601 extended format (compact), including
micro-seconds and time zone in the ISO 8601:2000 standard format.
Available since 2.4.58 only</td></tr>
-<tr class="odd"><td><code>%{%-format}t</code></td>
+<tr><td><code>%{%-format}t</code></td>
<td>The current time formatted per the <code>strftime(3)</code> function.
Available since 2.4.58 only</td></tr>
-<tr><td><code>%v</code></td>
+<tr class="odd"><td><code>%v</code></td>
<td>The canonical <code class="directive"><a href="#servername">ServerName</a></code>
of the current server.</td></tr>
-<tr class="odd"><td><code>%V</code></td>
+<tr><td><code>%V</code></td>
<td>The server name of the server serving the request according to the
<code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>
setting.</td></tr>
-<tr><td><code>\ </code> (backslash space)</td>
+<tr class="odd"><td><code>\ </code> (backslash space)</td>
<td>Non-field delimiting space</td></tr>
-<tr class="odd"><td><code>% </code> (percent space)</td>
+<tr><td><code>% </code> (percent space)</td>
<td>Field delimiter (no output)</td></tr>
</table>
comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
renverra une erreur "404 NOT FOUND".</dd>
- <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
+ <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
principale du chemin correspond à un fichier existant. Dans
l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
sera acceptée si <code>/test/here.html</code> correspond à un nom de
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Au cours du traitement d'une requête, le serveur recherche le
- premier fichier de configuration existant à partir de la liste
- de noms dans chaque répertoire composant le chemin du document, à
- partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
- :</p>
-
- <pre class="prettyprint lang-config">AccessFileName .acl</pre>
-
-
- <p>avant de renvoyer le document
- <code>/usr/local/web/index.html</code>, le serveur va rechercher les
- fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
- <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
- pour y lire d'éventuelles directives, à moins quelles n'aient été
- désactivées avec</p>
-
+ <p>La directive AccessFileName permet de modifier le nom du fichier qui sera
+ pris en compte pour les outrepassements de configuration au niveau du
+ répertoire, si la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> est activée pour le répertoire
+ considéré.</p>
+
+ <div class="warning">Nous vous déconseillons de modifier cette valeur et en
+ particulier de fournir une liste de plusieurs fichiers possibles, car cela
+ rendrait plus difficile la recherche d’erreurs pour quelqu’un qui n’est pas
+ familier avec votre configuration locale.</div>
+
+ <p>Lors du traitement d’une requête, le serveur cherche les fichiers dont le
+ nom (ou les noms) sont définis à l’aide de la directive <code>AccessFileName</code> dans
+ tous les répertoires du chemin du document, si les fichiers de configuration
+ distribués sont <a href="#allowoverride">autorisés pour ce répertoire</a>.
+ Par exemple, avant de renvoyer le document
+ <code>/usr/local/web/index.html</code>, le serveur va rechercher des
+ directives dans les fichiers <code>/.htaccess</code>, <code>/usr/.htaccess</code>,
+ <code>/usr/local/.htaccess</code> et <code>/usr/local/web/.htaccess</code>.</p>
+
+ <p>C’est pour cette raison que le fichier de configuration par défaut
+ contient les instructions suivantes :</p>
+
<pre class="prettyprint lang-config"><Directory "/">
AllowOverride None
</Directory></pre>
+ <p>Ce bloc de configuration permet de prévenir tout accès non nécessaire à
+ des fichiers dans des répertoires en dehors de votre racine des documents
+ <code class="directive"><a href="#documentroot">DocumentRoot</a></code>. Voir aussi la note à ce
+ sujet dans la documentation de la directive <code>AllowOverride</code>.</p>
+
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
<code>.htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var>
[<var>type directive</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None à partir de la version 2.3.9, AllowOverride
-All pour les versions antérieures</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
- le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
- des directives placées dans ce fichier sont autorisées à modifier la
- configuration préexistante.</p>
+ <p>Lorsque le serveur trouve un fichier de configuration distribuée (nommé
+ en général <code>.htaccess</code> — configurable à l’aide de la directive
+ <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir
+ lesquelles des directives placées dans ce fichier sont autorisées à modifier
+ la configuration préexistante.</p>
<div class="note"><h3>Valable seulement dans les sections
<Directory></h3>
<dt><a href="overrides.html#override-limit">Limit</a></dt>
<dd>
- Permet l'utilisation des directives contrôlant l'accès au serveur
- (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd>
+ Permet l'utilisation des directives patrimoniales de contrôle d'accès
+ au serveur (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
+ <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>). Pour un équivalent moderne,
+ voir la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
+ contrôlée par <code>AuthConfig</code>.</dd>
<dt>Nonfatal=[Override|Unknown|All]</dt>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverrideList None|<var>directive</var>
-[<var>directive-type</var>] ...</code></td></tr>
+[<var>directive</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverrideList None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr>
<p>Dans l'exemple ci-dessus, la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> autorise les directives du
groupement <code>AuthConfig</code>, et
<code class="directive">AllowOverrideList</code> n'autorise que deux directives du
- groupement <code>FileInfo</code>. Toutes les autres provoqueront une erreur
- interne du serveur.</p>
+ groupement <code>FileInfo</code>. Le jeu de directives permises effectif est
+ l’union des deux. Toutes les autres provoqueront une erreur interne du
+ serveur.</p>
+
+ <p>En outre, certaines directives sont toujours permises dans les fichiers
+ <code>.htaccess</code>, pourvu que le mécanisme d’outrepassement soit activé
+ (c’est-à-dire que la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> ne soit pas définie à
+ <code>None</code>). Ces directives sont listées dans la section <a href="overrides.html#override-all">All</a> de l’<a href="overrides.html">index de la classe override</a>.</p>
<h3>Voir aussi</h3>
<ul>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.21 du serveur HTTP Apache</td></tr>
</table>
<p>Cette directive permet de contrôler la manière dont certaines variables CGI
- sont définies.</p>
+ sont définies lorsque des requêtes sont transmises à des scripts CGI ou
+ d’autres gestionnaires qui reçoivent un environnement CGI. Actuellement, la
+ seule variable prise en charge est <code>REQUEST_URI</code>.</p>
+
+ <p>Par défaut, la variable d’environnement CGI <code>REQUEST_URI</code>
+ contient l’URI original de la requête du client. Cela implique que même si
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> ou une redirection interne modifie la ressource
+ qui va être servie, le script CGI verra quand-même l’URI original que le
+ client a envoyé.</p>
+
+ <p>Avec <code>CGIVar REQUEST_URI current-uri</code>, la valeur est définie à
+ l’URI actuel après l’application de toute réécriture ou redirection interne.</p>
- <p>règles <strong>REQUEST_URI</strong> :</p>
+ <p><strong>Valeurs autorisées :</strong></p>
<dl>
<dt><code>original-uri</code> (valeur par défaut)</dt>
- <dd>La valeur est extraite de la requête originale, et ne tient pas compte
- des redirections internes ou des sous-requêtes qui pourraient modifier la
- ressource demandée.</dd>
+ <dd>Définit <code>REQUEST_URI</code> avec l’URI de la requête originale du
+ client, sans tenir compte d’une réécriture ou redirection interne
+ quelconque.</dd>
<dt><code>current-uri</code></dt>
- <dd>La valeur reflète la ressource en cours de traitement ; elle peut être
- différente de la ressource demandée dans la requête initiale du client suite à
- d'éventuelles redirections internes ou sous-requêtes.</dd>
+ <dd>Définit <code>REQUEST_URI</code> avec l’URI de la ressource en train
+ d’être traitée, qui peut être différente de la requête originale en cas de
+ réécriture ou de redirection interne.</dd>
</dl>
+ <pre class="prettyprint lang-config"># Montrer aux scripts CGI l’URI réécrit à la place de l’original
+CGIVar REQUEST_URI current-uri</pre>
+
+
+ <div class="note"><h3>Note</h3>
+ <p>Dans tous les cas, la variable d’environnement CGI <code>REQUEST_URI</code>
+ contient l’URI complet, y compris la chaîne de paramètres. Cela est différent
+ pour la variable de serveur <code>%{REQUEST_URI}</code> utilisée dans
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> et les expressions de <a href="../expr.html">ap_expr</a>, qui ne contient que la partie chemin (pas la
+ chaîne de paramètres).</p></div>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="contentdigest">Directive <span id="ContentDigest">ContentDigest</span> <a title="Lien permanent" href="#contentdigest" class="permalink">¶</a></h2>
et la section <code class="directive"><Directory></code>
correspondante s'appliquera.</p>
- <p><strong>Notez que la politique d'accès par défaut
+ <div class="warning">
+ <p>La politique d'accès par défaut
dans les sections <code><Directory "/"></code> consiste à
autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
correspondant à une URL. Il est recommandé de modifier cette
- situation à l'aide d'un bloc du style</strong></p>
+ situation à l'aide d'un bloc du style</p>
+ </div>
<pre class="prettyprint lang-config"><Directory "/">
Require all denied
</Directory></pre>
- <p><strong>puis d'affiner la configuration pour les répertoires que vous
+ <p>puis d'affiner la configuration pour les répertoires que vous
voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
- pour plus de détails.</strong></p>
+ pour plus de détails.</p>
<p>Les sections <code class="directive"><Directory></code> se situent
dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Noyau httpd</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
- <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 aux fichiers qu'il contient), 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>
+ <p>Les balises <code class="directive"><DirectoryMatch></code> et
+ <code></DirectoryMatch></code> permettent de regrouper un ensemble de
+ directives qui ne s'appliqueront qu’aux répertoires (et aux fichiers qu’ils
+ contiennent) dont le chemin du système de fichiers correspond à l’<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> spécifiée. À la différence de
+ <code class="directive"><a href="#directory"><Directory></a></code>, les
+ directives ne s’appliqueront aux sous-répertoires que si le motif leur
+ correspond aussi. Cette balise prend comme argument une expression
+ rationnelle qui est comparée en tant que sous-chaîne (elle n’est pas ancrée au
+ début ou à la fin, à moins que vous n’indiquiez explicitement <code>^</code>
+ ou <code>$</code> dans le motif. Par exemple :</p>
<pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
</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.
+ Cette directive s'applique aux requêtes pour des répertoires avec ou sans
+ slash de fin. Si vous ancrez votre motif avec <code>$</code>, vous devrez
+ peut-être comparer les deux formes ; par exemple, <code><DirectoryMatch
+ "^/var/www/?$"></code>.
</div>
<p>A partir de la version 2.4.8, les groupes nommés et les
ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}</pre>
+ <p>Quand l’argument est une chaîne de texte (c’est-à-dire ni un chemin, ni
+ un URL), il est envoyé au client avec <code>text/html</code> comme type de
+ contenu, si bien que vous pouvez inclure des balises HTML. Vous pouvez
+ utiliser une controblique comme caractère de continuation de ligne afin de
+ répartir le document sur plusieurs lignes :</p>
+
+ <pre class="prettyprint lang-config">ErrorDocument 403 "\
+<html><head>\
+<title>403 Forbidden</title>\
+</head><body>\
+<h1>Forbidden</h1>\
+<p> Vous n’êtes pas autorisé à accéder à cette ressource.</p>\
+</body></html>"</pre>
+
+
<p>De plus, on peut spécifier la valeur spéciale <code>default</code>
pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
dur. Bien que non nécessaire dans des circonstances normales, la
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
+ <p>Il peut arriver que certains spécificateurs 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
+ et le suivant. Ceci implique que la chaîne de format 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,
+ Si un spécificateur 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
<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
+ sera journalisé que si le message journalisé possède un niveau de sévérité
+ du nombre spécifié ou supérieur (c’est-à-dire que le nombre correspondant au
+ niveau de sévérité du message est inférieur ou égal au modificateur). Les
valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
(warn) ou 7 (debug).</p>
<tr>
<td><code>%4{Referer}i</code></td>
<td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
- la sévérité du message de journalisation est supérieure à 4.</td>
+ la sévérité du message de journalisation est 4 (avertissement) ou supérieure
+ (niveaux 1 à 4 : alerte, critique, erreur, avertissement).</td>
</tr>
</table>
- <p>Certains items de format acceptent des paramètres supplémentaires
+ <p>Certains spécificateurs 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>
Apache</td></tr>
</table>
<p>Cette directive permet de modifier les règles qui s'appliquent à la ligne
- de requête HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.1.1">RFC 7230
- §3.1.1</a>) et aux champs des en-têtes des requêtes HTTP (<a href="https://tools.ietf.org/html/rfc7230#section-3.2">RFC 7230
- §3.2</a>), qui s'appliquent maintenant par défaut ou en utilisant
- l'option <code>Strict</code>. L'option <code>Unsafe</code>
- a été ajoutée pour pouvoir restaurer les anciens
+ de requête HTTP (<a href="https://www.rfc-editor.org/rfc/rfc7230#section-3.1.1">RFC 7230</a>) et aux champs des en-têtes
+ des requêtes HTTP (<a href="https://www.rfc-editor.org/rfc/rfc7230#section-3.2">RFC 7230</a>), qui s'appliquent
+ maintenant par défaut ou en utilisant l'option <code>Strict</code>. L'option
+ <code>Unsafe</code> a été ajoutée pour pouvoir restaurer les anciens
comportements nécessaires aux anciens modules et applications et aux agents
utilisateurs personnalisés considérés comme obsolètes.</p>
<dd>
<p>Avant l'introduction de cette directive, les interpréteurs de requêtes du
serveur HTTP Apache toléraient un grand nombre de formats en entrée qui
- n'étaient pas forcément conformes au protocole. <a href="https://tools.ietf.org/html/rfc7230#section-9.4">RFC 7230 §9.4
- Request Splitting</a> et <a href="https://tools.ietf.org/html/rfc7230#section-9.5">§9.5 Response
- Smuggling</a> ne rappellent que deux des risques potentiels induits par des
- requêtes non conformes, alors que <a href="https://tools.ietf.org/html/rfc7230#section-3.5">RFC 7230
- §3.5</a> signale les risques encourus par l'acceptation de blancs non
- conformes dans les lignes de requête. Avec l'introduction de cette
- directive, toutes les règles de grammaire de la spécification doivent être
- respectées dans le mode d'opérations par défaut <code>Strict</code>.</p>
+ n'étaient pas forcément conformes au protocole. <a href="https://www.rfc-editor.org/rfc/rfc7230#section-9.4">RFC 7230</a> (Request Splitting) et <a href="https://www.rfc-editor.org/rfc/rfc7230#section-9.5">RFC 7230</a> (Response Smuggling) ne rappellent que deux des
+ risques potentiels induits par des requêtes non conformes, alors que <a href="https://www.rfc-editor.org/rfc/rfc7230#section-3.5">RFC 7230</a> "Message Parsing Robustness" signale les risques
+ encourus par l'acceptation de blancs non conformes dans les lignes de
+ requête. Avec l'introduction de cette directive, toutes les règles de
+ grammaire de la spécification doivent être respectées dans le mode
+ d'opérations par défaut <code>Strict</code>.</p>
<div class="warning"><h3>Risques de sécurité liés au mode Unsafe</h3>
<p>Il est fortement déconseillé aux utilisateurs d'utiliser le mode
</dd>
<dt>RegisteredMethods|LenientMethods</dt>
<dd>
- <p>La section de la <a href="https://tools.ietf.org/html/rfc7231#section-4.1">RFC 7231
- §4.1</a> "Request Methods" "Overview" indique que les serveurs doivent
- renvoyer un message d'erreur lorsque la ligne de requête comporte une
- méthode non supportée. C'est déjà le cas lorsque l'option
- <code>LenientMethods</code> est utilisée, mais les administrateurs ont la
- possibilité de limiter les méthodes utilisées via l'option
- <code>RegisteredMethods</code> en enregistrant toute méthode non standard
- via la directive <code class="directive">RegisterHttpMethod</code>, en particulier
- si l'option <code>Unsafe</code> est utilisée.</p>
+ <p>La section "Overview" de la <a href="https://www.rfc-editor.org/rfc/rfc7231#section-4.1">RFC 7231</a> "Request
+ Methods" indique que les serveurs doivent renvoyer un message d'erreur
+ lorsque la ligne de requête comporte une méthode non supportée. C'est déjà
+ le cas lorsque l'option <code>LenientMethods</code> est utilisée, mais les
+ administrateurs ont la possibilité de limiter les méthodes utilisées via
+ l'option <code>RegisteredMethods</code> en enregistrant toute méthode non
+ standard via la directive <code class="directive">RegisterHttpMethod</code>, en
+ particulier si l'option <code>Unsafe</code> est utilisée.</p>
<div class="warning"><h3>Compatibilité avec le mandat direct</h3>
<p>L'option
</dd>
<dt>Allow0.9|Require1.0</dt>
<dd>
- <p>La section de la <a href="https://tools.ietf.org/html/rfc2616#section-19.6">RFC 2616
- §19.6</a> "Compatibility With Previous Versions" encouragait les
- serveurs HTTP à supporter les anciennes requêtes HTTP/0.9. La RFC 7230 va
- cependant à son encontre via sa préconisation "Le souhait de supporter les
- requêtes HTTP/0.9 a été supprimé" et y adjoint des commentaires dans <a href="https://tools.ietf.org/html/rfc7230#appendix-A">RFC 7230 Appendix
- A</a>. A ce titre, l'option <code>Require1.0</code> permet à l'utilisateur
- d'inhiber le comportement induit par l'option par défaut
+ <p>La section "Compatibility With Previous Versions" de la <a href="https://www.rfc-editor.org/rfc/rfc2616#section-19.6">RFC 2616</a> encouragait les serveurs HTTP à supporter les
+ anciennes requêtes HTTP/0.9. La RFC 7230 va cependant à son encontre via sa
+ préconisation "Le souhait de supporter les requêtes HTTP/0.9 a été supprimé"
+ et y adjoint des commentaires dans <a href="https://www.rfc-editor.org/rfc/rfc7230#appendix-A">RFC 7230</a>
+ Appendix A. A ce titre, l'option <code>Require1.0</code> permet à
+ l'utilisateur d'inhiber le comportement induit par l'option par défaut
<code>Allow0.9</code>.</p>
<div class="example"><h3>Exemple de requête provoquant l'envoi d'un message HTTP 400 en
<div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
une section <code class="directive"><Limit></code> pour la
restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
- les méthodes arbitraires.</div>
+ les méthodes arbitraires. Voir aussi la <a href="../sections.html#merging">documentation sur la fusion des sections de
+ configuration</a> pour un avertissement à propos de la manière dont une
+ directive <code class="directive"><Limit></code> au sein d’une section
+ <code class="directive"><a href="#location"><Location></a></code> peut
+ outrepasser silencieusement les directives d’une section <code class="directive"><a href="#directory"><Directory></a></code>.</div>
<p>Les directives <code class="directive"><Limit></code> et
<code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
URL est un chemin d'URL de la forme
<code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
- spécifiée doit être de la forme
+ à comparer dépend du type de mandataire. Avec un mandataire <strong>direct
+ (forward)</strong> (configuré via <code class="directive"><a href="../mod/mod_proxy.html#proxyrequests">ProxyRequests</a></code>), l'URL
+ à comparer doit être de la forme
<code>protocole://nom_serveur/chemin</code>, et vous devez inclure
- le préfixe.</p>
+ le préfixe. Avec un mandataire <strong>inverse (reverse)</strong> (configuré
+ via <code class="directive"><a href="../mod/mod_proxy.html#proxypass">ProxyPass</a></code> ou <code class="directive"><a href="../mod/mod_proxy.html#rewriterule ... [p]">RewriteRule ... [P]</a></code>), la requête arrive en
+ tant que chemin d’URL local ; il faut donc utiliser <code>/chemin/</code>,
+ comme vous le feriez pour la requête originale.</p>
<p>L'URL peut contenir des caractères génériques. Dans une chaîne
avec caractères génériques, <code>?</code> correspond à un caractère
Le serveur va suivre les liens symboliques dans le répertoire
concerné. Il s'agit de la valeur par défaut.
<div class="note">
- <p>Bien que le serveur suive les liens symboliques, il ne modifie
+ <p>Quand le serveur suit les liens symboliques, il ne modifie
<em>pas</em> le nom de chemin concerné défini par la section
<code class="directive"><a href="#directory"><Directory></a></code>.</p>
+
+ <p>Désactiver cette option empêche aussi <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+ d’agir dans un contexte de répertoire (fichiers <code>.htaccess</code> et
+ sections <code class="directive"><a href="#directory"><Directory></a></code>.</p>
<p>Les options <code>FollowSymLinks</code> et
<code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
<p>Spécifier des protocoles non disponibles ou désactivés n'aura
aucun effet, et ceux-ci seront simplement ignorés.</p>
+
+ <div class="note"><h3>Note</h3> <p>Le protocole <code>http/1.1</code> est
+ toujours disponible, même s’il est exclu de cette directive. Cette
+ dernière permet de spécifier les protocoles supplémentaires disponibles
+ pour la négociation, ainsi que leur ordre de préférence lorsqu’elle est
+ utilisée avec la directive
+ <code class="directive">ProtocolsHonorOrder</code>.</p></div>
<p>Si un serveur virtuel ne possède pas de directive Protocols
propre, il hérite des protocoles spécifiés pour le serveur
serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de noms</a>.</p>
<p>Cette directive est aussi utilisée lors de la création d'URLs de
- redirection relatives quand la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à une valeur autre
- que la valeur par défaut.</p>
+ redirection relatives quand la directive
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> est définie à
+ <code>On</code>. Si <code>UseCanonicalName</code> est définie à
+ <code>DNS</code>, une recherche DNS inverse est effectuée</p>
<p>Par exemple, si le nom de la
machine hébergeant le serveur web est
</code></p></div>
</div>
+ <div class="warning">
+ <p>Les adresses IPv6 ne sont actuellement pas prises
+ en charge par la directive <code class="directive">ServerName</code> et produisent
+ une erreur au démarrage du serveur, même si elles sont entourées de
+ crochets. Il s’agit d’un <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52178">problème connu</a>.</p></div>
+
<h3>Voir aussi</h3>
<ul>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
</table>
<p>La directive <code class="directive">ServerPath</code> permet de définir
- le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+ le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/name-based.html">serveurs virtuels à base de nom</a>.</p>
+
+ <div class="note"><p>Il s’agit d’une fonctionnalité patrimoniale qui permet d’assurer
+ une compatibilité avec les clients HTTP/1.0 qui n’envoient pas d’en-tête
+ <code>Host:</code>. Lorsqu’un tel client soumet un URL correspondant à la
+ valeur de la directive <code class="directive">ServerPath</code> d’un serveur
+ virtuel, la requête est servie depuis ce serveur virtuel. En pratique, tous
+ les clients HTTP modernes envoient l’en-tête <code>Host:</code>, ce qui rend
+ cette directive inutile.</p></div>
<h3>Voir aussi</h3>
<ul>
+<li><a href="../vhosts/name-based.html">Prise en charge des serveurs
+virtuels à base de nom</a></li>
+<li><a href="../vhosts/examples.html#serverpath">Exemple d’utilisation de
+ServerPath</a></li>
<li><a href="../vhosts/">Documentation sur les serveurs virtuels
du serveur HTTP Apache</a></li>
</ul>
<code>None</code>.</p>
<div class="note"><h3>Note</h3>
- <p>Comme <code class="directive">SetHandler</code> l'emporte sur la
- définition des gestionnaires par défaut, le comportement habituel
- consistant à traiter les URLs se terminant par un slash (/) comme
- des répertoires ou des fichiers index est désactivé.</p></div>
+ <p>Comme <code class="directive">SetHandler</code> l'emporte sur la définition des
+ gestionnaires par défaut, le comportement habituel consistant à traiter les
+ URLs se terminant par un slash (/) comme des répertoires ou des fichiers
+ index est désactivé. Cette directive outrepasse aussi la directive
+ <code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code>, car un
+ gestionnaire est déjà explicitement assigné à la requête.
+ </p></div>
<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
+<li><code class="directive"><a href="../mod/mod_dir.html#fallbackresource">FallbackResource</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
réponse. Dans le cas d'un serveur mandataire, la taille du corps de
requête n'est pas limitée à 64Kb.</p>
+ <p>Les directives <code class="directive"><a href="#limit"><Limit></a></code>
+ ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> ne
+ permettent pas de restreindre la méthode <code>TRACE</code>. Pour ce faire,
+ utilisez la directive <code class="directive">TraceEnable</code>.</p>
+
<div class="note"><h3>Note</h3>
<p>Bien que certains prétendent le contraire, activer la méthode
<code>TRACE</code> ne constitue pas un problème de sécurité dans Apache
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
-<!-- English Revision: 344972:1934489 (outdated) -->
+<!-- English Revision: 344972:1934980 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.es.xsl"?>
-<!-- English Revision: 1741251:1934489 (outdated) -->
+<!-- English Revision: 1741251:1934980 (outdated) -->
<!-- Translated by Luis Gil de Bernabé Pfeiffer lgilbernabe[AT]apache.org -->
<!-- Reviewed by Sergio Ramos-->
<!--
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1934489 -->
+<!-- English Revision: 1934489:1934980 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<?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: 669847:1934489 (outdated) -->
+<!-- English Revision: 669847:1934980 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1907151:1934489 (outdated) -->
+<!-- English Revision: 1907151:1934980 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
Reviewed by: Orhan Berent <berent belgeler.gen.tr>
l'authentification et l'autorisation httpd.</dd>
<dt><a href="mod_authnz_ldap.html">mod_authnz_ldap</a></dt><dd>Permet d'utiliser un annuaire LDAP pour l'authentification
HTTP de base.</dd>
-<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Autorisation basique</dd>
+<dt><a href="mod_authz_core.html">mod_authz_core</a></dt><dd>Socle d'autorisation</dd>
<dt><a href="mod_authz_dbd.html">mod_authz_dbd</a></dt><dd>Autorisation en groupe et reconnaissance d'identité avec base
SQL</dd>
<dt><a href="mod_authz_dbm.html">mod_authz_dbm</a></dt><dd>Autorisation basée sur les groupes à l'aide de fichiers
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'atteindre différentes parties du système de
fichiers depuis l'arborescence des documents du site web, ainsi que la
redirection d'URL</td></tr>
<h2 id="order">Chronologie du traitement <a title="Lien permanent" href="#order" class="permalink">¶</a></h2>
<p>Les alias et redirections apparaissant dans différents contextes
- sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par
+ sont traités comme les autres directives en respectant les <a href="../sections.html#merging">règles de fusion</a> standards. Par
contre, ils sont traités selon une chronologie particulière
lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
même section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias [<var>chemin URL</var>]
<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<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><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authn_core.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Le noyau de l'authentification</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_core_module</td></tr>
<pre class="prettyprint lang-config">AuthName "Top Secret"</pre>
- <p>La chaîne fournie comme argument à <code>AuthName</code>
- apparaîtra dans la boîte de dialogue d'authentification pour la
- plupart des navigateurs.</p>
+ <p>La chaîne fournie comme argument à <code>AuthName</code> était
+ historiquement affichée dans la boîte de dialogue de mot de passe fournie
+ par les navigateurs. La plupart des navigateurs modernes n’affiche plus la
+ chaîne de realm, car elle pourrait être utilisée pour du phishing. La
+ directive est toujours nécessaire pour que l’authentification HTTP
+ fonctionne et la valeur du realm est toujours utilisée pour définir la
+ portée des informations d'identification. </p>
<p>A partir de la version 2.4.55 du serveur HTTP Apache, il est possible de
définir cette directive en utilisant la <a href="../expr.html">syntaxe des
<p>Le type d'authentification <code>None</code> désactive
l'authentification. Lorsqu'une authentification est définie, elle
- est en général héritée par chacune des <a href="../sections.html#mergin">sections de configuration</a> qui
+ est en général héritée par chacune des <a href="../sections.html#merging">sections de configuration</a> qui
suivent, à moins qu'un autre type d'authentification ne soit
spécifié. Si l'on ne souhaite pas mettre en oeuvre
d'authentification pour une sous-section d'une section authentifiée,
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_core.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authz_core.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
-<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basique</td></tr>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Socle d'autorisation</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_core_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authz_core.c</td></tr>
d'Apache HTTPD</td></tr></table>
<h3>Sommaire</h3>
- <p>Ce module fournit des fonctionnalités d'autorisation basiques
+ <p>Ce module fournit un socle de fonctionnalités d'autorisation
permettant d'accorder ou refuser l'accès à certaines zones du site
web aux utilisateurs authentifiés. <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
donne la possibilité d'enregistrer divers fournisseurs
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif"> <a href="#logic">Conteneurs d'autorisation</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#authzresults">États des résultats d’autorisation</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#requiredirectives">Les directives Require</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#authzalias">Création des alias du fournisseur
d'autorisation</a></li>
<p>Les directives de conteneur d'autorisation <code class="directive"><a href="#requireall"><RequireAll></a></code>,
<code class="directive"><a href="#requireany"><RequireAny></a></code> et <code class="directive"><a href="#requirenone"><RequireNone></a></code>
- peuvent être combinées entre elles et avec la directive <code class="directive"><a href="#require">Require</a></code> pour confectionner une
+ peuvent être combinées entre elles et avec la directive <code class="directive"><a href="#require">Require</a></code> pour construire une
logique d'autorisation complexe.</p>
<p>L'exemple ci-dessous illustre la logique d'autorisation suivante.
Pour pouvoir accéder à la ressource, l'utilisateur doit être
l'utilisateur <code>superadmin</code>, ou appartenir aux deux
groupes LDAP <code>admins</code> et <code>Administrateurs</code> et
- soit appartenir au groupe <code>ventes</code> ou avoir
+ soit appartenir au groupe <code>ventes</code>, soit avoir
<code>ventes</code> comme valeur de l'attribut LDAP
<code>dept</code>. De plus, pour pouvoir accéder à la ressource,
l'utilisateur ne doit appartenir ni au groupe <code>temps</code>, ni
Require user superadmin
<RequireAll>
Require group admins
- Require ldap-group "cn=Administrators,o=Airius"
+ Require ldap-group "cn=Administrateurs,o=Airius"
<RequireAny>
- Require group sales
- Require ldap-attribute dept="sales"
+ Require group ventes
+ Require ldap-attribute dept="ventes"
</RequireAny>
</RequireAll>
</RequireAny>
<RequireNone>
Require group temps
- Require ldap-group "cn=Temporary Employees,o=Airius"
+ Require ldap-group "cn=Employés temporaires,o=Airius"
</RequireNone>
</RequireAll>
</Directory></pre>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="authzresults">États des résultats d’autorisation <a title="Lien permanent" href="#authzresults" class="permalink">¶</a></h2>
+
+ <p>Chaque fournisseur d’autorisation renvoie un résultat parmi trois
+ possibles lorsqu’il évalue une directive <code class="directive"><a href="#require">Require</a></code> :</p>
+
+ <dl>
+ <dt><strong>Granted</strong></dt>
+ <dd>Le fournisseur a vérifié que la requête satisfait à ses conditions.</dd>
+
+ <dt><strong>Denied</strong></dt>
+ <dd>Le fournisseur a déterminé que la requête ne satisfait pas à ses
+ conditions.</dd>
+
+ <dt><strong>Neutral</strong></dt>
+ <dd>Le fournisseur n’a pas d’opinion à propos de la requête. Cela peut se
+ produire lorsqu’un fournisseur n’est pas pertinent pour la requête (par
+ exemple, une vérification d’appartenance à un groupe alors que la requête
+ n’implique pas d’autorisation basée sur le groupe).</dd>
+ </dl>
+
+ <p>Les directives de conteneur d’autorisation interprètent ces trois
+ résultats comme suit :</p>
+
+ <table class="bordered"><tr class="header"><th>Conteneur</th><th>Autorisé si...</th><th>Refusé si...</th><th>Neutre
+ traité comme...</th></tr>
+<tr><td><code class="directive"><a href="#requireany"><RequireAny></a></code></td>
+ <td>au moins un fournisseur autorise</td>
+ <td>tous les fournisseurs refusent</td>
+ <td>refus (ne satisfait pas aux conditions)</td></tr>
+<tr class="odd"><td><code class="directive"><a href="#requireall"><RequireAll></a></code></td>
+ <td>aucun fournisseur ne refuse (et au moins un autorise)</td>
+ <td>tout fournisseur refuse</td>
+ <td>autorise (ne bloque pas la vérification)</td></tr>
+<tr><td><code class="directive"><a href="#requirenone"><RequireNone></a></code></td>
+ <td>aucun fournisseur n’autorise</td>
+ <td>tout fournisseur autorise</td>
+ <td>autorise (ne bloque pas la vérification)</td></tr>
+</table>
+
+ <p>Quand une directive <code class="directive">Require</code> est inversée avec
+ <code>not</code> (par exemple, <code>Require not group temps</code>), un
+ résultat autorisé est inversé en refusé et vice-versa, mais un résultat
+ neutre reste neutre. Une directive inversée ne peut donc jamais autoriser
+ une requête indépendamment.</p>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="requiredirectives">Les directives Require <a title="Lien permanent" href="#requiredirectives" class="permalink">¶</a></h2>
<h3 id="reqexpr">Require expr</h3>
<p>Le fournisseur <code>expr</code> permet d'accorder l'autorisation
- d'accès de base en fonction d'expressions arbitraires.</p>
+ d'accès en fonction d'expressions arbitraires.</p>
<pre class="prettyprint lang-config">Require expr "%{TIME_HOUR} -ge 9 && %{TIME_HOUR} -le 17"</pre>
<p>La syntaxe de l'expression est décrite dans la documentation de <a href="../expr.html">ap_expr</a>. Avant la version 2.4.16, les doubles-quotes
- étaient prohibées</p>
+ étaient prohibées.</p>
<p>Normalement, l'expression est évaluée avant l'authentification.
Cependant, si l'expression renvoie false et se réfère à la variable
la même manière qu'on le ferait pour des fournisseurs d'autorisation
de base. En plus de la possibilité de créer et d'aliaser un
fournisseur étendu, le même fournisseur d'autorisation étendu peut
- être référencé par plusieurs localisations.
+ être référencé par diverses localisations.
</p>
<h3 id="example">Exemple</h3>
<pre class="prettyprint lang-config"><AuthzProviderAlias ldap-group ldap-group-alias1 "cn=my-group,o=ctx">
AuthLDAPBindDN "cn=youruser,o=ctx"
AuthLDAPBindPassword yourpassword
- AuthLDAPURL "ldap://ldap.host/o=ctx"
+ AuthLDAPUrl "ldap://ldap.host/o=ctx"
</AuthzProviderAlias>
<AuthzProviderAlias ldap-group ldap-group-alias2 "cn=my-other-group,o=dev">
AuthLDAPBindDN "cn=yourotheruser,o=dev"
AuthLDAPBindPassword yourotherpassword
- AuthLDAPURL "ldap://other.ldap.host/o=dev?cn"
+ AuthLDAPUrl "ldap://other.ldap.host/o=dev?cn"
</AuthzProviderAlias>
Alias "/secure" "/webpages/secure"
<Directory "/webpages/secure">
- Require all granted
-
- AuthBasicProvider file
-
AuthType Basic
- AuthName LDAP_Protected_Place
-
- #implied OR operation
+ AuthName "LDAP Protected"
+ AuthBasicProvider ldap
+ AuthLDAPUrl "ldap://ldap.host/o=ctx"
+
+ #Opération logique implicite : OU inclusif
Require ldap-group-alias1
Require ldap-group-alias2
</Directory></pre>
se combine avec celle de la section de configuration qui la précède
(selon l'ordre général des sections de configuration), et qui
contient aussi une logique d'autorisation, comme si les deux
- sections étaient concaténées respectivement dans une directive
+ sections étaient concaténées, respectivement, dans une directive
<code class="directive"><a href="#requireall"><RequireAll></a></code> ou <code class="directive"><a href="#requireany"><RequireAny></a></code>.</p>
<div class="note">La définition de la directive
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives représentant une extension d'un
fournisseur d'autorisation de base qui pourra être référencée à l'aide
de l'alias spécifié</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthzProviderAlias <var>fournisseur-de-base Alias
-Paramètres-Require</var>>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>>
... </AuthzProviderAlias>
</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
</Directory></pre>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="authzsendforbiddenonfailure">Directive <span id="AuthzSendForbiddenOnFailure">AuthzSendForbiddenOnFailure</span> <a title="Lien permanent" href="#authzsendforbiddenonfailure" class="permalink">¶</a></h2>
dynamic.example.org aura l'autorisation d'accès.
</dd>
- </dl>
+ </dl>
<p>D'autres modules d'autorisation comme
<code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>,
cas de l'autre directive d'autorisation inversée <code class="directive"><RequireNone></code>, si la directive
<code class="directive">Require</code> est inversée, elle ne peut qu'échouer
ou produire un résultat neutre ; elle ne peut donc alors pas
- autoriser une requête de manière indépendante.</p>
+ en soi autoriser une requête.</p>
<p>Dans l'exemple suivant, tous les utilisateurs appartenant aux
groupes <code>alpha</code> et <code>beta</code> ont l'autorisation
<ul>
<li><a href="../howto/access.html">Tutoriel du contrôle d'accès</a></li>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
+<li><a href="#authzresults">États des résultats d’autorisation</a></li>
<li><code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code></li>
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
</ul>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
+<li><a href="#authzresults">États des résultats d’autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
contrôle d'accès</a></li>
</ul>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
+<li><a href="#authzresults">États des résultats d’autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
contrôle d'accès</a></li>
</ul>
résultat positif, la directive <code class="directive"><RequireNone></code> échouera. Dans tous les
autres cas, cette dernière retournera un résultat neutre. Ainsi,
comme pour la directive d'autorisation inversée <code>Require
- not</code>, elle ne peut jamais autoriser une requête de manière
- indépendante car elle ne pourra jamais retourner un résultat
+ not</code>, elle ne peut jamais en soi autoriser une requête
+ car elle ne pourra jamais retourner un résultat
positif. Par contre, on peut l'utiliser pour restreindre l'ensemble
des utilisateurs autorisés à accéder à une ressource.</p>
<h3>Voir aussi</h3>
<ul>
<li><a href="#logic">Conteneurs d'autorisation</a></li>
+<li><a href="#authzresults">États des résultats d’autorisation</a></li>
<li><a href="../howto/auth.html">Authentification, autorisation et
contrôle d'accès</a></li>
</ul>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ja/mod/mod_authz_groupfile.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_groupfile.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur les groupes à l'aide de fichiers
textes</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_groupfile">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_groupfile">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
+<li><a href="mod_authz_core.html#authzresults">États des résultats
+d’autorisation</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authz_host.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authz_host.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisations de groupe basées sur l'hôte (nom ou adresse
IP)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<li><a href="../howto/auth.html">Authentification, autorisation et
contrôle d'accès</a></li>
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
+<li><a href="mod_authz_core.html#authzresults">États des résultats
+d’autorisation</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ja/mod/mod_authz_user.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_authz_user.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Autorisation basée sur l'utilisateur</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authz_user_module</td></tr>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authz_user">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authz_user">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
+<li><a href="mod_authz_core.html#authzresults">États des résultats
+d’autorisation</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_buffer.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_buffer.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support de la mise en tampon des requêtes</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>buffer_module</td></tr>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du filtre par tampon</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>BufferSize entier</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>BufferSize 131072</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire, .htaccess</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#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_buffer</td></tr>
</table>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../ja/mod/mod_cache.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_cache.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtre de mise en cache HTTP conforme à la RFC 2616</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>cache_module</td></tr>
d'environnement.</div>
<p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> implémente un <strong>filtre de mise
- en cache de contenu HTTP</strong> conforme à la <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a>, avec
+ en cache de contenu HTTP</strong> conforme à la <a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a>, avec
support de la mise en cache des réponses dont le contenu a été
négocié et comportant l'en-tête Vary.</p>
jour, et peut apporter un gain de performances significatif si le
serveur original supporte les <strong>requêtes
conditionnelles</strong> en prenant en compte l'en-tête de requête
- HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26">If-None-Match</a>.
+ HTTP If-None-Match (<a href="https://www.rfc-editor.org/rfc/rfc2616#section-14.26">RFC 2616</a>).
Le contenu n'est ainsi régénéré que lorsqu'il a été modifié, et non
lorsqu'il a expiré.</p>
éventuellement compressé par le filtre <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>.</p>
<p>Dans le mode de fonctionnement normal, <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
- peut être contrôlé par les en-têtes <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9">Cache-Control</a>
- et <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32">Pragma</a>
+ peut être contrôlé par les en-têtes Cache-Control (<a href="https://www.rfc-editor.org/rfc/rfc2616#section-14.9">RFC 2616</a>) et Pragma (<a href="https://www.rfc-editor.org/rfc/rfc2616#section-14.32">RFC 2616</a>)
envoyés par un client dans une requête, ou par un serveur dans une
réponse. Dans des circonstances exceptionnelles,
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> peut cependant être configuré pour
s'insérer entre le client et le serveur, et ce type de configuration
ne doit donc être utiliser qu'en cas de nécessité absolue.</p>
- <p>La RFC 2616 permet au cache de renvoyer des données périmées
- pendant que l'entrée périmée correspondante est mise à jour depuis
- le serveur original, et <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> supporte cette
- fonctionnalité lorsque la directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée en
- conséquence. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
- contenant un code de réponse 110. La RFC 2616 permet aussi au cache
- de renvoyer des données périmées lorsque la tentative de mise à jour
- des données périmées renvoie une erreur 500 ou supérieure, et cette
- fonctionnalité est supportée par défaut par
- <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.46">Warning</a>
- contenant un code de réponse 111.</p>
+ <p>La RFC 2616 permet au cache de renvoyer des données périmées pendant que
+ l'entrée périmée correspondante est mise à jour depuis le serveur original,
+ et <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> supporte cette fonctionnalité lorsque la
+ directive <code class="directive"><a href="#cachelock">CacheLock</a></code> est configurée
+ en conséquence. De telles réponses comportent un en-tête HTTP Warning (<a href="https://www.rfc-editor.org/rfc/rfc2616#section-14.46">RFC 2616</a>) contenant un code de réponse 110. La RFC 2616
+ permet aussi au cache de renvoyer des données périmées lorsque la tentative
+ de mise à jour des données périmées renvoie une erreur 500 ou supérieure, et
+ cette fonctionnalité est supportée par défaut par
+ <code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>. De telles réponses comportent un en-tête HTTP
+ Warning (<a href="https://www.rfc-editor.org/rfc/rfc2616#section-14.46">RFC 2616</a>) contenant un code de réponse
+ 111.</p>
<p><code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> requiert les services d'un ou
plusieurs modules de gestion de stockage. La distribution Apache de base
<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>
+ <div class="note"><p>Cette directive n’est valable que dans les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> et <code class="directive"><a href="../mod/mod_proxy.html#proxy"><Proxy></a></code> dans des contextes de
+ répertoire. Elle ne l’est pas dans les 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#if"><If></a></code>.</p></div>
+
<p>La directive <code class="directive">CacheDisable</code> enjoint
<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> de <em>ne pas</em> mettre en cache l'URL
spécifiée par <var>chaîne URL</var>, ainsi que les URLs de niveaux
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<a href="../ja/mod/mod_headers.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_headers.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Personnalisation des en-têtes de requêtes et de réponses
HTTP</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<p>La chronologie du traitement est importante et est affectée par
l'ordre d'apparition des directives dans le fichier de configuration
- et par leur placement dans les <a href="../sections.html#mergin">sections de configuration</a>. Ainsi,
+ et par leur placement dans les <a href="../sections.html#merging">sections de configuration</a>. Ainsi,
ces deux directives ont un effet différent si leur ordre est inversé
:</p>
nom. Lorsqu'une nouvelle valeur est ainsi ajoutée, elle est séparée
de celles qui sont déjà présentes par une virgule. Il s'agit de la
méthode HTTP standard permettant d'affecter plusieurs valeurs à un
- en-tête.</dd>
+ en-tête. Notez que l’en-tête <code>Set-Cookie</code> est une exception : la
+ <a href="https://www.rfc-editor.org/rfc/rfc6265">RFC 6265</a> préconise plusieurs en-têtes <code>Set-Cookie</code> au lieu
+ de plusieurs valeurs séparées par des virgules. Utilisez <code>add</code> au
+ lieu de <code>append</code> pour <code>Set-Cookie</code>.</dd>
<dt><code>echo</code></dt>
<dd>Les en-têtes de la requête possédant le nom spécifié sont
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
</variants>
<div class="directive-section"><h2 id="globallog"><span id="GlobalLog">GlobalLog</span> Directive <a title="Permanent link" href="#globallog" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets filename and format of log file</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</code></td></tr>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common</pre>
</div>
-
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
other format has been specified.</p>
<div class="example"><h3>Example</h3><pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
-TransferLog logs/access_log</pre>
+TransferLog "logs/access_log"</pre>
</div>
</div>
<a href="../ko/mod/mod_log_config.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_log_config.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
+<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
+ anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Journalisation des requêtes envoyées au
serveur</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<div class="directive-section"><h2 id="globallog"><span id="GlobalLog">GlobalLog</span> ディレクティブ <a title="Permanent link" href="#globallog" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Sets filename and format of log file</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</code></td></tr>
<div class="directive-section"><h2 id="globallog"><span id="GlobalLog">GlobalLog</span> Áö½Ã¾î <a title="Permanent link" href="#globallog" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">¼³¸í:</a></th><td>Sets filename and format of log file</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>GlobalLog<var>file</var>|<var>pipe</var>
+<tr><th><a href="directive-dict.html#Syntax">¹®¹ý:</a></th><td><code>GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</code></td></tr>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1932808 -->
+<!-- English Revision: 1932808:1934652 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<?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: 579425:1932808 (outdated) -->
+<!-- English Revision: 579425:1934652 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:1932808 (outdated) -->
+<!-- English Revision: 105989:1934652 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<variants>
<variant>en</variant>
- <variant>fr</variant>
+ <variant outdated="yes">fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1900558:1932808 (outdated) -->
+<!-- English Revision: 1900558:1934652 (outdated) -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
Reviewed by: Orhan Berent <berent belgeler.gen.tr>
<a href="../fr/mod/mod_proxy_ajp.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_ajp.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module de support AJP pour
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<code>AJP_</code> sont transmises au serveur original en tant
qu'attributs de requête AJP (le préfixe <code>AJP_</code> étant supprimé du
nom de la clé).</p>
+
+ <p>Notez que ces attributs de requête ne sont accessibles que sur demande
+ directe à l’aide de la méthode <code>HttpServletRequest.getAttribute</code>
+ — l’implémentation par Tomcat de la méthode <a href="https://tomcat.apache.org/tomcat-9.0-doc/api/org/apache/catalina/connector/Request.html#getAttributeNames--"><code>getAttributeNames</code></a>
+ ne les liste pas comme ceux qui sont gérés comme des attributs internes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="overviewprotocol">Vue d'ensemble du protocole <a title="Lien permanent" href="#overviewprotocol" class="permalink">¶</a></h2>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>
<a href="../fr/mod/mod_proxy_balancer.html" title="Français"> fr </a> |
<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Extension de <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> pour le support de
la répartition de charge</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<ul id="topics">
<li><img alt="" src="../images/down.gif"> <a href="#scheduler">L'algorithme de planification de la répartition de
charge</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#stickyness">Répartition de charge avec abonnement utilisateur
- (stickyness)</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#stickiness">Répartition de charge avec abonnement utilisateur
+ (stickiness)</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#example">Exemples de configuration d'un répartiteur</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#environment">Variables d'environnement exportées</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#balancer_manager">Activation du support du gestionnaire de répartiteur</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#stickyness_implementation">Détails à propos de la répartition de charge par abonnement
- (stickyness)</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
+<li><img alt="" src="../images/down.gif"> <a href="#stickiness_implementation">Détails à propos de la répartition de charge par abonnement
+ (stickiness)</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#stickiness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
abonnement</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
particulier la configuration du répartiteur et de ses membres.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="stickyness">Répartition de charge avec abonnement utilisateur
- (stickyness) <a title="Lien permanent" href="#stickyness" class="permalink">¶</a></h2>
+<h2 id="stickiness">Répartition de charge avec abonnement utilisateur
+ (stickiness) <a title="Lien permanent" href="#stickiness" class="permalink">¶</a></h2>
<p>Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une
requête est mandatée vers un serveur d'arrière-plan particulier,
section <code><Location ...></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="stickyness_implementation">Détails à propos de la répartition de charge par abonnement
- (stickyness) <a title="Lien permanent" href="#stickyness_implementation" class="permalink">¶</a></h2>
+<h2 id="stickiness_implementation">Détails à propos de la répartition de charge par abonnement
+ (stickiness) <a title="Lien permanent" href="#stickiness_implementation" class="permalink">¶</a></h2>
<p>Si l'abonnement s'appuie sur un cookie, vous devez définir le nom
de ce cookie dont le contenu précise le serveur d'arrière-plan à
retenue.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="stickyness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
- abonnement <a title="Lien permanent" href="#stickyness_troubleshooting" class="permalink">¶</a></h2>
+<h2 id="stickiness_troubleshooting">Résolution des problèmes liés à la répartition de charge par
+ abonnement <a title="Lien permanent" href="#stickiness_troubleshooting" class="permalink">¶</a></h2>
<p>Si vous êtes confronté à des erreurs d'abonnement, comme la
nécessité pour les utilisateurs de se reconnecter suite à une perte
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
</variants>
</metafile>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_proxy_ftp.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_proxy_ftp.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Module fournissant le support FTP à
<code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<var>xxx</var> ne sont-ils pas téléchargeables par FTP ?</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#type">Comment puis-je forcer le téléchargement
FTP en mode ASCII du fichier <var>xxx</var> ?</a></li>
-<li><img alt="" src="../images/down.gif"> <a href="#ftpnonget">Comment puis-je effectuer un
- chargement FTP ?</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#ftpnonget">Comment puis-je effectuer un chargement FTP
+ ?</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#percent2fhck">Comment puis-je accéder par FTP à
des fichiers situés en dehors de mon répertoire home ?</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#ftppass">Comment puis-je dissimuler le mot de
mode ASCII).</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
-<h2 id="ftpnonget">Comment puis-je effectuer un
- chargement FTP ? <a title="Lien permanent" href="#ftpnonget" class="permalink">¶</a></h2>
- <p>Actuellement, seule la méthode GET est supportée pour FTP dans
- <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Vous pouvez par contre utiliser le chargement HTTP (POST
- or PUT) via un mandataire Apache.</p>
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<h2 id="ftpnonget">Comment puis-je effectuer un chargement FTP
+ ? <a title="Lien permanent" href="#ftpnonget" class="permalink">¶</a></h2> <p>Actuellement, seule la méthode GET est supportée pour FTP dans
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. Vous pouvez par contre utiliser le chargement
+ HTTP (POST or PUT) via un mandataire Apache.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="percent2fhck">Comment puis-je accéder par FTP à
des fichiers situés en dehors de mon répertoire home ? <a title="Lien permanent" href="#percent2fhck" class="permalink">¶</a></h2>
ftp://<var>nom-utilisateur</var>@<var>serveur</var>/mon-fichier
</code></p></div>
+ <div class="note"><h3>HttpProtocolOptions</h3>
+ <p>Par défaut, la directive <code class="directive"><a href="../mod/core.html#httpprotocoloptions">HttpProtocolOptions</a></code> est définie à
+ <code>Strict</code>, ce qui a pour effet de rejeter les URLs contenant
+ des informations sur l’utilisateur (nom ou mot de passe), en accord avec
+ la RFC 7230. Pour utiliser des données d’authentification dans les URLs
+ FTP, vous devez spécifier <code>HttpProtocolOptions Unsafe</code>.</p>
+ </div>
+
<p>Si le serveur FTP demande un mot de passe pour ce nom
d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au
client une réponse <code>401</code> (Autorisation requise), ce qui
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_remoteip.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_remoteip.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Remplace l'adresse IP du client
pour la requête par l'adresse IP présentée par un mandataire ou un
répartiteur de charge via les en-têtes de la requête.
l'en-tête de requête configuré via la directive
<code class="directive"><a href="#remoteipheader">RemoteIPHeader</a></code>.</p>
- <p>Ce module implémente aussi la partie serveur du <a href="http://blog.haproxy.com/haproxy/proxy-protocol/">protocole PROXY</a>
- de HAProxy via la directive <code class="directive"><a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></code>.</p>
+ <p>Ce module implémente aussi la partie serveur du <a href="https://www.haproxy.org/download/3.1/doc/proxy-protocol.txt">protocole
+ PROXY</a> de HAProxy via la directive <code class="directive"><a href="#remoteipproxyprotocol">RemoteIPProxyProtocol</a></code>.</p>
<p>Une fois sa valeur modifiée comme indiqué, cette adresse IP client est
utilisée pour la fonctionnalité <code class="directive"><a href="../mod/mod_authz_core.html#require">Require ip</a></code> de <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> ;
les chaînes de formatage <code>%a</code> des modules
<code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code> et <code class="module"><a href="../mod/core.html">core</a></code>. L'adresse IP
client sous-jacente de la connexion est enregistrée via la chaîne de
- formatage <code>%{c}a</code>. </p>
+ formatage <code>%{c}a</code> et via la variable
+ <code>CONN_REMOTE_ADDR</code> dans les <a href="../expr.html">expressions</a>.</p>
<div class="warning">Il est essentiel de n'activer cette
fonctionnalité que pour les requêtes en provenance des serveurs
<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
<li><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></li>
<li><code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code></li>
-<li><a href="http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt">Proxy Protocol
+<li><a href="https://www.haproxy.org/download/3.1/doc/proxy-protocol.txt">Proxy Protocol
Spec</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
<a href="../fr/mod/mod_request.html" title="Français"> fr </a> |
<a href="../tr/mod/mod_request.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Filtres permettant de traiter et de mettre à disposition
les corps de requêtes HTTP</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<p>Lorsque l'argument de cette directive a une valeur supérieure à
zéro, les gestionnaires de requête qui suppriment habituellement les
- corps de requête vont alors conserver ces corps de requête, à
+ corps de requête vont alors définir ces corps de requête, à
concurrence de la taille maximale spécifiée, pour être
éventuellement utilisés par des filtres. Dans le cas du filtre
mod_include, une tentative de requête <code>POST</code> pour un
ou d'URLs issues d'un mandataire inverse dans l'espace d'URL d'un
autre serveur en utilisant <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
- <p><strong>Note :</strong> Chaque requête dont le corps est ainsi
- conservé doit être enregistrée temporairement en mémoire vive
+ <div class="note">Chaque requête dont le corps est ainsi
+ défini doit être enregistrée temporairement en mémoire vive
jusqu'à la fin du traitement de la requête. Il faut donc s'assurer
que la mémoire RAM du serveur est suffisante pour pouvoir supporter
la charge induite. L'utilisation de cette directive doit être
limitée à certaines portions de votre espace d'URL bien précises qui
le nécessitent, et en spécifiant comme taille maximale une valeur la
plus petite possible, mais tout de même suffisante pour un corps de
- requête.</p>
+ requête.</div>
<p>Si la taille de la requête envoyée par le client dépasse la taille
maximale autorisée par cette directive, le serveur renverra l'erreur
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">tr</variant>
</variants>
</metafile>
<a href="../ko/mod/mod_setenvif.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_setenvif.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de définir des variables d'environnement en fonction
de certainescaractéristiques de la requête</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
se présenter sous l'une des trois formes suivantes :</p>
<ol>
-<li>Un champ d'en-tête de requête HTTP (voir la <a href="http://www.rfc-editor.org/rfc/rfc2616.txt">RFC2616</a> pour
+<li>Un champ d'en-tête de requête HTTP (voir la <a href="https://www.rfc-editor.org/rfc/rfc2616">RFC 2616</a> pour
plus d'information à leur propos) ; par exemple : <code>Host</code>,
<code>User-Agent</code>, <code>Referer</code>, ou
<code>Accept-Language</code>. Il est possible d'utiliser une
<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>
<a href="../fr/mod/mod_vhost_alias.html" title="Français"> fr </a> |
<a href="../tr/mod/mod_vhost_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet de configurer dynamiquement l'hébergement virtuel de
masse</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
spécificateurs inspirés de <code>printf</code> et possèdant de
nombreux formats :</p>
+ <div class="note"><h3>Note</h3>
+ <p>Le répertoire interpolé doit être un chemin absolu. La valeur spéciale
+ <code>none</code> désactive cette directive.</p>
+ </div>
+
<table>
<tr><td><code>%%</code></td>
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">tr</variant>
</variants>
</metafile>
<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une série de directives implémentées par plusieurs
modules multi-processus (MPM)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr></table>
vous l'augmentez, vous devez aussi augmenter la valeur de la
directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
- <p>Pour les serveur threadés et hybrides (utilisant <em>par
- exemple</em> <code class="module"><a href="../mod/event.html">event</a></code> ou <code class="module"><a href="../mod/worker.html">worker</a></code>),
+ <p>Pour les serveur threadés et hybrides (utilisant <em>par exemple</em>
+ <code class="module"><a href="../mod/event.html">event</a></code> ou <code class="module"><a href="../mod/worker.html">worker</a></code>),
<code class="directive">MaxRequestWorkers</code> définit alors le nombre total de
- threads qui seront disponibles pour servir les clients. Dans le
- cas des MPMs hybrides, la valeur par défaut est <code>16</code>
- (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur
- <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
+ threads qui seront disponibles pour servir les clients. Pour les MPMs
+ hybrides et threadés, la valeur par défaut est <code>16</code> (directive
+ <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la
+ valeur <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert
- plus de 16 processus, vous devez aussi augmenter la valeur de la
- directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
+ plus de 16 processus, vous devez aussi augmenter la valeur de la directive
+ <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
+
+ <p>Pour les MPMs threadés et hybrides, la valeur de la directive
+ <code class="directive">MaxRequestWorkers</code> doit supérieure ou égale à celle de
+ la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> et
+ doit être un multiple entier de cette dernière. Si elle n’est pas un
+ multiple de cette dernière, le serveur l’arrondit par le bas au démarrage au
+ multiple le plus proche et journalise un avertissement.</p>
+
+ <div class="example"><h3>Avertissement : MaxRequestWorkers trop petit</h3><p><code>
+ WARNING: MaxRequestWorkers of 10 is less than ThreadsPerChild
+ of 25, increasing to 25. MaxRequestWorkers must be at least as
+ large as the number of threads in a single server.
+ </code></p></div>
+
+ <div class="example"><h3>Avertissement : MaxRequestWorkers n’est pas un multiple de
+ ThreadsPerChild</h3><p><code>
+ WARNING: MaxRequestWorkers of 90 is not an integer multiple of
+ ThreadsPerChild of 25, decreasing to nearest multiple 75, for a
+ maximum of 3 servers.
+ </code></p></div>
<p>Le nom de la directive <code class="directive">MaxRequestWorkers</code>
était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
être supérieure ou égale à 1. Une valeur inférieure à 1 sera automatiquement
augmentée à 1 et un avertissement sera journalisé.</p>
+ <p>La valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> doit être un multiple
+ entier de celle de la directive <code class="directive">ThreadsPerChild</code>. Voir
+ la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>
+ pour les détails.</p>
+
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="directive-section"><h2 id="threadstacksize">Directive <span id="ThreadStackSize">ThreadStackSize</span> <a title="Lien permanent" href="#threadstacksize" class="permalink">¶</a></h2>
<variants>
<variant outdated="yes">de</variant>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">tr</variant>
</variants>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-Type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Erzwingt die Auslieferung aller passendenden Dateien mit dem
angegebenen MIME-Content-Type</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
media type in the HTTP Content-Type header field</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
media type in the HTTP Content-Type header field</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
[<var>extension</var>] ...</a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Associe les extensions de noms de fichiers au type de
contenu spécifié</td></tr>
<tr class="odd"><td><a href="mod_alias.html#alias">Alias [<var>chemin URL</var>]
-<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance des URLs avec des chemins du système
+<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Met en correspondance des URLs avec des chemins du système
de fichiers</td></tr>
<tr><td><a href="mod_alias.html#aliasmatch">AliasMatch <var>regex</var>
<var>chemin fichier</var>|<var>chemin répertoire</var></a></td><td></td><td>sv</td><td>B</td></tr><tr><td class="descr" colspan="4">Met en correspondance des URLs avec le système de fichiers
<tr class="odd"><td><a href="mod_allowmethods.html#allowmethods">AllowMethods reset|<em>HTTP-method</em>
[<em>HTTP-method</em>]...</a></td><td> reset </td><td>d</td><td>X</td></tr><tr class="odd"><td class="descr" colspan="4">Restreint l'accès aux méthodes HTTP spécifiées</td></tr>
<tr><td><a href="core.html#allowoverride">AllowOverride All|None|<var>type directive</var>
-[<var>type directive</var>] ...</a></td><td> None à partir de la +</td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Types de directives autorisées dans les fichiers
+[<var>type directive</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr><td class="descr" colspan="4">Types de directives autorisées dans les fichiers
<code>.htaccess</code></td></tr>
<tr class="odd"><td><a href="core.html#allowoverridelist">AllowOverrideList None|<var>directive</var>
-[<var>directive-type</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
+[<var>directive</var>] ...</a></td><td> None </td><td>d</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
<tr><td><a href="mod_authn_anon.html#anonymous">Anonymous <var>utilisateur</var> [<var>utilisateur</var>]
...</a></td><td></td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Définit la liste des identifiants utilisateur autorisés à
accéder sans vérification du mot de passe</td></tr>
rediriger l'utilisateur après une connexion réussie</td></tr>
<tr class="odd"><td><a href="mod_authz_dbm.html#authzdbmtype">AuthzDBMType default|SDBM|GDBM|NDBM|DB</a></td><td> default </td><td>dh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Définit le type de fichier de base de données contenant
la liste des groupes d'utilisateurs</td></tr>
-<tr><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>fournisseur-de-base Alias
-Paramètres-Require</var>>
+<tr><td><a href="mod_authz_core.html#authzprovideralias"><AuthzProviderAlias <var>baseProvider Alias Require-Parameters</var>>
... </AuthzProviderAlias>
</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Regroupe des directives représentant une extension d'un
fournisseur d'autorisation de base qui pourra être référencée à l'aide
casse</td></tr>
<tr class="odd"><td><a href="mod_log_config.html#bufferedlogs">BufferedLogs On|Off</a></td><td> Off </td><td>s</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Enregistre les entrées du journal dans un tampon en mémoire
avant de les écrire sur disque</td></tr>
-<tr><td><a href="mod_buffer.html#buffersize">BufferSize entier</a></td><td> 131072 </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale en octets du filtre par tampon</td></tr>
+<tr><td><a href="mod_buffer.html#buffersize">BufferSize entier</a></td><td> 131072 </td><td>dh</td><td>E</td></tr><tr><td class="descr" colspan="4">Taille maximale en octets du filtre par tampon</td></tr>
<tr class="odd"><td><a href="mod_cache.html#cachedefaultexpire" id="C" name="C">CacheDefaultExpire <var>secondes</var></a></td><td> 3600 (une heure) </td><td>svdh</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">La durée par défaut de mise en cache d'un document
lorsqu'aucune date d'expiration n'a été spécifiée.</td></tr>
<tr><td><a href="mod_cache.html#cachedetailheader">CacheDetailHeader <var>on|off</var></a></td><td> off </td><td>svdh</td><td>E</td></tr><tr><td class="descr" colspan="4">Ajoute un en-tête X-Cache-Detail à la réponse.</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>MIME-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">すべてのマッチするファイルが指定の MIME コンテントタイプで
送られるようにする</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Forensic ログのファイル名を設定する</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
media type in the HTTP Content-Type header field</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
<tr><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr><td class="descr" colspan="4">Forces all matching files to be served with the specified
media type in the HTTP Content-Type header field</td></tr>
<tr class="odd"><td><a href="mod_log_forensic.html#forensiclog">ForensicLog <var>filename</var>|<var>pipe</var></a></td><td></td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Sets filename of the forensic log</td></tr>
-<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog<var>file</var>|<var>pipe</var>
+<tr><td><a href="mod_log_config.html#globallog" id="G" name="G">GlobalLog <var>file</var>|<var>pipe</var>
<var>format</var>|<var>nickname</var>
[env=[!]<var>environment-variable</var>|
expr=<var>expression</var>]</a></td><td></td><td>s</td><td>B</td></tr><tr><td class="descr" colspan="4">Sets filename and format of log file</td></tr>
<a href="../fr/platform/windows.html" title="Français"> fr </a> |
<a href="../ko/platform/windows.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document décrit l'installation, la configuration et
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
</variants>
</metafile>
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/apachectl.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><code class="program"><a href="../programs/apachectl.html">apachectl</a></code> est un frontal pour le serveur HTTP
Apache. Il a été conçu pour aider l'administrateur à contrôler le
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#synopsis">Résumé</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#files">Fichiers</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../invoking.html">Démarrer Apache</a></li><li><a href="../stopping.html">Arrêter Apache</a></li><li><a href="../configuring.html">Fichiers de
configuration</a></li><li><a href="../platform/">Documentation spécifique aux
plates-formes</a></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li></ul></div>
</dl>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="files">Fichiers <a title="Lien permanent" href="#files" class="permalink">¶</a></h2>
+
+<p>Les chemins de fichiers listés ci-après peuvent être modifiés à la
+compilation. Consultez votre installation locale pour les emplacements réels.</p>
+
+<dl>
+<dt><code>/usr/local/apache2/bin/envvars</code></dt>
+<dd>Fichier de définitions de variables d’environnement alimenté au démarrage.</dd>
+
+<dt><code>/usr/local/apache2/bin/httpd</code></dt>
+<dd>Le binaire httpd invoqué par apachectl.</dd>
+</dl>
+
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English"> en </a> |
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
<a href="../ko/programs/configure.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/configure.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>Le script <code class="program"><a href="../programs/configure.html">configure</a></code> permet de configurer
l'arborescence des sources afin de compiler et installer le serveur
<code class="program"><a href="../programs/suexec.html">suexec</a></code>, etc..., qui sont nécessaires à
l'exécution du serveur HTTP Apache. Par défaut,
<code>sbindir</code> est défini à
- <code><var>EPREFIX</var>/sbin</code>.</dd>
+ <code><var>EPREFIX</var>/bin</code> (comme
+ <code>bindir</code>).</dd>
<dt><code>--sharedstatedir=<var>DIR</var></code></dt>
<dd>Installe les données modifiables indépendantes de
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
<a href="../ko/programs/htdigest.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/htdigest.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><code class="program"><a href="../programs/htdigest.html">htdigest</a></code> permet de créer et maintenir les fichiers
textes dans lesquels sont stockés des noms d'utilisateurs, des
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#synopsis">Syntaxe</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#options">options</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#security">Considérations à propos de sécurité</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#files">Fichiers</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li><li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<dt><code><var>realm</var></code></dt>
<dd>Le nom du domaine de protection auquel le nom d'utilisateur
- appartient. Voir <a href="http://tools.ietf.org/html/rfc2617#section-3.2.1">http://tools.ietf.org/html/rfc2617#section-3.2.1</a>
+ appartient. Voir la <a href="https://www.rfc-editor.org/rfc/rfc2617#section-3.2.1">RFC 2617</a>
pour plus de détails.</dd>
<dt><code><var>nom-utilisateur</var></code></dt>
<h2 id="security">Considérations à propos de sécurité <a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
<p>En tant qu'exécutable setuid, ce programme n'est pas sûr. En
conséquence, évitez de lui attribuer des permissions setuid.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="files">Fichiers <a title="Lien permanent" href="#files" class="permalink">¶</a></h2>
+
+<p>Le chemin du fichier d’authentification à base de condensés est spécifié en
+tant qu’argument de la ligne de commande et il peut être placé n’importe où dans
+le système de fichiers.</p>
+
+<dl>
+<dt><var>fichier des mots de passe</var></dt>
+<dd>Le fichier plat contenant les noms des utilisateurs, les domaines de
+protection (realms) et les mots de passe hachés.</dd>
+</dl>
+
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/htdigest.html" hreflang="en" rel="alternate" title="English"> en </a> |
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
<a href="../ko/programs/htpasswd.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/htpasswd.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><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> permet de créer et de maintenir les
fichiers textes où sont stockés les noms d'utilisateurs et mots de
fichier d'entrée dans le but de le mettre à jour, il renvoie un code
d'erreur et n'effectue aucune modification.</p>
- <p>Il est possible de limiter l'accès aux ressources du serveur HTTP
+<p>Il est possible de limiter l'accès aux ressources du serveur HTTP
Apache aux seuls utilisateurs présents dans les fichiers créés par
<code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code>. Ce programme ne sait gérer les noms
d'utilisateurs et mots de passe que s'ils sont stockés dans des
- fichiers textes. Il peut cependant hacher et afficher les mots de
+ fichiers textes. Il peut cependant hasher et afficher les mots de
passe à des fins d'utilisation dans d'autres types de bases de
données. Pour utiliser une base de données DBM, voir le programme
<code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code> ou <code class="program"><a href="../programs/htdbm.html">htdbm</a></code>.</p>
- <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> hache les mots de passe en utilisant bcrypt, une
- version de MD5 modifiée pour Apache, SHA-1 ou la routine système
- <code>crypt()</code>. Les hachages de type SHA-2 (SHA-256 and SHA-512) sont
- pris en charge pour <code>crypt()</code>. Les fichiers gérés par
- <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> peuvent contenir un mélange de différents types de
- codage des mots de passe ; par exemple, certaines entrées utilisateur
- pourront comporter des mots de passe hachés avec bcrypt ou MD5, alors que
- d'autres dans le même fichier pourront comporter des mots de passe hachés
- avec <code>crypt()</code>.</p>
+ <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> hashe les mots de passe en utilisant soit bcrypt,
+ une version de MD5 modifiée pour Apache, soit SHA1, soit la routine
+ <code>crypt()</code> du système. Les hashes basés sur SHA-2 (SHA-256 et
+ SHA-512) sont supportés pour <code>crypt()</code>. Les fichiers gérés par
+ <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> peuvent contenir deux types de mots de passe ;
+ certaines entrées peuvent contenir des mots de passe hashés en MD5 ou
+ bcrypt, alors que d'autres entrées du même fichier contiendront des mots de
+ passe hashés avec <code>crypt()</code>.</p>
<p>Cette page de manuel ne décrit que les arguments de la ligne de
commande. Pour plus de détails à propos des directives nécessaires à
<li><img alt="" src="../images/down.gif"> <a href="#examples">Exemples</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#security">Considérations à propos de sécurité</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#restrictions">Restrictions</a></li>
+<li><img alt="" src="../images/down.gif"> <a href="#files">Fichiers</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="../programs/htdbm.html">htdbm</a></code></li><li>Les scripts fournis avec la distibution d'Apache et situés dans
support/SHA1.</li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<code>-c</code> option.</dd>
<dt><code>-m</code></dt>
- <dd>Utilise le hachage MD5 pour les mots de passe. C'est le
+ <dd>Utilise le hashage MD5 pour les mots de passe. C'est le
comportement par défaut (depuis la version 2.2.18).</dd>
<dt><code>-2</code></dt>
- <dd>Utilise les hachages SHA-256 basés sur <code>crypt()</code> pour les
- mots de passe. Pris en charge sur la plupart des plateformes de style Unix.</dd>
+ <dd>Utilise des hashes basés sur SHA-256 <code>crypt()</code> pour les mots
+ de passe. Supporté par la plupart des plateformes de style Unix.</dd>
<dt><code>-5</code></dt>
- <dd>Utilise les hachages SHA-512 basés sur <code>crypt()</code> pour les
- mots de passe. Pris en charge sur la plupart des plateformes de style Unix.</dd>
+ <dd>Utilise des hashes basés sur SHA-512 <code>crypt()</code> pour les mots
+ de passe. Supporté par la plupart des plateformes de style Unix.</dd>
<dt><code>-B</code></dt>
- <dd>Utilise bcrypt pour hacher les mots de passe. c'est un
+ <dd>Utilise bcrypt pour hasher les mots de passe. c'est un
algorythme de chiffrement actuellement considéré comme sûr.</dd>
<dt><code>-C</code></dt>
<dd>Ce drapeau n'est autorisé qu'en conjonction avec le drapeau
- <code>-B</code> (hachage bcrypt). Il permet de définir la durée
+ <code>-B</code> (hashage bcrypt). Il permet de définir la durée
de traitement pour l'algorytme bcrypt (plus elle est longue,
meilleure sera la sécurité, mais inférieure la rapidité). La valeur
par défaut est 5 et les valeurs autorisées vont de 4 à 17.</dd>
<dt><code>-r</code></dt>
- <dd>Ce drapeau n'est autorisé qu'en combinaison avec les drapeaux
+ <dd>Ce drapeau n'est autorisé qu'en combinaison avec un des drapeaux
<code>-2</code> ou <code>-5</code>. Il permet de définir le nombre de passes
- de hachage utilisé pour les algorithmes SHA-2 (un nombre élevé améliore la
- sécurité mais le traitement est plus lent ; la valeur par défaut est 5000.</dd>
+ de hash utilisées pour l'algorithme SHA-2 (plus ce nombre est élevé, plus la
+ sécurité est élevée, mais plus les performances se dégradent ; la valeur par
+ défaut est 5000).</dd>
<dt><code>-d</code></dt>
- <dd>Utilise le hachage <code>crypt()</code> pour les mots de
+ <dd>Utilise le hashage <code>crypt()</code> pour les mots de
passe. Cette option n'est pas supportée par le
serveur <code class="program"><a href="../programs/httpd.html">httpd</a></code> sous Windows ou Netware. Cet
algorithme limite la longueur des mots de passe à 8 caractères ; il
version 2.2.17.</dd>
<dt><code>-s</code></dt>
- <dd>Utilise le hachage SHA-1 (160-bit) pour les mots de passe. Facilite la
- migration vers/depuis les serveurs Netscape qui utilisent le format
- LDAP Directory Interchange (ldif). Cet algorithme
- est considéré comme <strong>non sûr</strong> du point de vue des
- normes actuelles.</dd>
+ <dd>Utilise le hashage SHA-1 (160 bits) pour les mots de passe. Facilite
+ la migration vers/depuis les serveurs Netscape qui utilisent le format LDAP
+ Directory Interchange (ldif). Cet algorithme est considéré comme <strong>non
+ sur</strong> du point de vue des standards actuels.</dd>
<dt><code>-p</code></dt>
<dd>Enregistre les mots de passe en clair. Bien que
contraire, le mot de passe est modifié.</dd>
<dt><code><var>mot-de-passe</var></code></dt>
- <dd>Le mot de passe en clair et destiné à être haché puis stocké
+ <dd>Le mot de passe en clair et destiné à être hashé puis stocké
dans le fichier. Cet argument ne s'utilise qu'avec l'option
<code>-b</code>.</dd>
</dl>
<p>Ajoute ou modifie le mot de passe de l'utilisateur
<code>jsmith</code>. Le mot de passe est demandé à l'opérateur. Le
- mot de passe sera haché en utilisant l'algorithme MD5
+ mot de passe sera hashé en utilisant l'algorithme MD5
modifié pour Apache. Si le fichier spécifié
n'existe pas, <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> renverra un code d'erreur.</p>
setuid.</p>
<p>L'utilisation de l'option <code>-b</code> est déconseillée, car
- avec elle, les mots de passe apparaissent en clair sur la ligne de
+ avec elle, les mots de passe apparaissent en clair dans la ligne de
commande.</p>
<p>Notez qu'avec l'algorithme <code>crypt()</code>, seuls les huit
le mot de passe spécifié est plus long, les caractères
supplémentaires sont ignorés.</p>
- <p>Le format de hachage SHA-1 n'utilise pas d'amorçage aléatoire
+ <p>Le format de hashage SHA-1 n'utilise pas d'amorçage aléatoire
(salting) : à un mot de passe donné correspond une seule
- représentation hachée. Les formats <code>crypt()</code> et MD5
+ représentation hashée. Les formats <code>crypt()</code> et MD5
permutent la représentation en la préfixant par une chaîne d'amorce
aléatoire, afin de rendre les attaques de mots de passe à base de
dictionnaires plus difficiles.</p>
sont considérés comme <strong>non surs</strong> du point de vue des
standards actuels.</p>
- <p>Les formats de <code>crypt()</code> basés sur SHA-2 (SHA-256 et SHA-512)
- sont pris en charge sur la plupart des systèmes de style Unix récents et
- respectent la spécification de <a href="https://www.akkadia.org/drepper/SHA-crypt.txt">https://www.akkadia.org/drepper/SHA-crypt.txt</a>.</p>
- </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+ <p>Les algorithmes de chiffrement SHA-2 (SHA-256 et SHA-512) sont supportés
+ par la plupart des systèmes de style Unix modernes et respectent la
+ spécification <a href="https://www.akkadia.org/drepper/SHA-crypt.txt">https://www.akkadia.org/drepper/SHA-crypt.txt</a>.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="restrictions">Restrictions <a title="Lien permanent" href="#restrictions" class="permalink">¶</a></h2>
<p>Sur les plates-formes Windows, la taille des mots de passe
- hachés avec <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> est limitée à <code>255</code>
+ hashés avec <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> est limitée à <code>255</code>
caractères. Les mots de passe dont la taille est supérieure seront
tronqués.</p>
<p>L'algorithme MD5 utilisé par <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> est spécifique
- à Apache ; les mots de passe hachés en utilisant cet algorithme
+ à Apache ; les mots de passe hashés en utilisant cet algorithme
seront inutilisables sur d'autres serveurs Web.</p>
<p>La taille des noms d'utilisateurs est limitée à <code>255</code>
de passe bcrypt augmente avec le nombre de passes spécifié par l'option
<code>-C</code>. A partir de sa version <code>1.6.0</code>, la bibliothèque
<code>apr-util</code> limite le nombre de passes à 17.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
+<div class="section">
+<h2 id="files">Fichiers <a title="Lien permanent" href="#files" class="permalink">¶</a></h2>
+
+<p>Le chemin du fichier des mots de passe est spécifié en tant qu’argument de la
+ligne de commande et il peut correspondre à n’importe quel emplacement du
+système de fichiers.</p>
+
+<dl>
+<dt><var>fichier des mots de passe</var></dt>
+<dd>Le fichier plat contenant les noms utilisateur et les mots de passe. Il peut
+contenir des lignes vides et des lignes de commentaire commençant par un (<code>#</code>).</dd>
+</dl>
+
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/htpasswd.html" hreflang="en" rel="alternate" title="English"> en </a> |
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
</Directory>
# Everything else goes to HTTPS
- RedirectMatch permanent "^/(?!\.well-known/acme-challenge/)" "https://www.example.com/$1"
+ RedirectMatch permanent "^/(?!\.well-known/acme-challenge/)(.*)$" "https://www.example.com/$1"
</VirtualHost></pre>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1933072:1934698 (outdated) -->
+<!-- English Revision: 1933072:1934879 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/sections.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>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
ou URLs particuliers. Ce document décrit comment utiliser les conteneurs de
directives qu'ils contiennent seront ignorées.</p>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>
-contient des directives qui ne seront appliquées que si un paramètre
-approprié a été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
-Par exemple,
-avec la configuration suivante, toutes les requêtes seront redirigées vers
-un autre site si le serveur est démarré en utilisant la ligne de commande :
+contient des directives qui ne seront appliquées que si un paramètre approprié a
+été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>. Par exemple,
+avec la configuration suivante, toutes les requêtes seront redirigées vers un
+autre site si le serveur est démarré en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code> :</p>
<pre class="prettyprint lang-config"><IfDefine ClosedForNow>
<p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> et
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
-peuvent inverser leur test conditionnel en le faisant précéder d'un « ! ».
+peuvent inverser leur test conditionnel en le faisant précéder d'un « ! ».
De plus, ces sections peuvent être imbriquées afin de définir des restrictions
plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
n'a pas besoin de faire référence à un élément du système de fichiers.
À ce titre, l'exemple suivant montre comment faire correspondre une URL
-particulière à un gestionnaire interne du serveur HTTP Apache fourni par le module
+particulière à un gestionnaire interne fourni par le module
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
dans le système de fichiers.</p>
-<pre class="prettyprint lang-config"><Location "/server-status">
+<pre class="prettyprint lang-config"># Un URL vers un gestionnaire interne :
+<Location "/server-status">
SetHandler server-status
+</Location>
+
+# Un chemin d’URL vers un dorsal de mandataire inverse :
+<Location "/app">
+ ProxyPass "http://backend.example.com/"
+ ProxyPassReverse "http://backend.example.com/"
+</Location>
+
+# Interdire l’accès à un chemin d’URL sans tenir compte de ce qui le traite :
+<Location "/private">
+ Require all denied
</Location></pre>
+<p>Étant donné que la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> opère sur des URLs, et non sur des chemins du
+système de fichiers, il s'agit du conteneur approprié pour la configuration du
+mandataire et les points de terminaison fournis par les modules.</p>
+
<h3 id="overlapping-webspace">Espace web imbriqué</h3>
<p>Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre
évaluées mais selon l'ordre dans lequel elles apparaissent dans le fichier
de configuration.</li>
<li>Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (groupe 1 ci-dessus)
- sont traitées dans l'ordre du répertoire le plus court vers le plus long.
+ sont traitées dans l'ordre du répertoire le plus court vers le plus long
+ (sans tenir compte de leur ordre d’apparition dans le fichier de
+ configuration).
Par exemple, <code><Directory "/var/web/dir"></code> sera
traitée avant <code><Directory
"/var/web/dir/subdir"></code>.</li>
- <li>Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même
- répertoire, elles sont traitées selon l'ordre dans lequel elles
- apparaissent dans le fichier de configuration.</li>
- <li>Les sections de configuration incluses à l'aide de la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont traitées comme si elles se
+ <li>Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même répertoire, elles
+ sont traitées selon l'ordre dans lequel elles apparaissent dans le fichier
+ de configuration. La même règle s’applique lorsque plusieurs sections
+ <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>,
+ <code class="directive"><a href="./mod/core.html#files"><Files></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> ciblent à la même
+ ressource.</li>
+ <li>Les sections de configuration incluses à laide de la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont traitées comme si elles se
trouvaient réellement dans le fichier qui les inclut à la position de la
directive
<code class="directive"><a href="./mod/core.html#include">Include</a></code>.</li>
<li>Les sections situées à l'intérieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
sont appliquées <em>après</em> les sections correspondantes situées en
dehors de la définition du serveur virtuel, ce qui permet au serveur virtuel
- de prévaloir sur la configuration du serveur global.</li>
+ de prévaloir sur la configuration du serveur global. Notez qu’à la
+ différence des autres types de section, un seul <code class="directive"><a href="./mod/core.html#serveur virtuel"><serveur virtuel></a></code> est sélectionné pour une requête
+ — les directives de plusieurs serveurs virtuels correspondants ne sont
+ jamais fusionnées. Voir <a href="vhosts/details.html">Correspondance des
+ serveurs virtuels</a> pour des détails à propos de la manière dont les
+ serveurs virtuels sont sélectionnés.</li>
<li>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> dans l'ordre de traitement.</li>
peut vous y aider.
</li>
<li>Lorsqu'une section <code class="directive"><a href="./mod/core.html#if"><If></a></code> est utilisée dans un fichier <code>.htaccess</code>, les
- directives incluses dans un répertoire parent seront fusionnées
- <em>après</em> les directives non-incluses dans un sous-répertoire.
+ directives incluses dans un "directory" parent seront fusionnées
+ <em>après</em> les directives non-incluses dans un "directory" enfant.
</li>
+ <li><div class="warning"><h3>Avertissement : une directive
+ <Limit> au sein d’une section <Location> peut accorder un
+ accès silencieusement</h3>
+ <p>Utiliser la directive <code class="directive"><a href="./mod/core.html#limit"><Limit></a></code> au sein d’une section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> pour restreindre
+ la liste des méthodes HTTP autorisées peut donner des résultats
+ inattendus. Pour les méthodes non spécifiées par la directive <code class="directive"><a href="./mod/core.html#limit"><Limit></a></code>, la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> hôte est traitée comme
+ n’imposant aucune condition d’autorisation, ce qui a effectivement pour
+ effet d’accorder l’accès et outrepasse toute éventuelle restriction
+ d’une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> qui, autrement, aurait dû s’appliquer.
+ C’est pourquoi il est préférable d’utiliser la directive <code class="directive"><a href="./mod/core.html#limitexcept"><LimitExcept></a></code> ou de définir les
+ autorisations sans restriction sur les méthodes.</p>
+ </div></li>
</ul>
<div class="note"><h3>Note technique</h3>
<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>
<a href="./tr/sitemap.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a> |
<a href="./zh-cn/sitemap.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </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>Cette page contient la liste des éléments actuellement disponibles de
la <a href="./">Documentation du serveur HTTP Apache Version
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
<!ENTITY httpd.major "2">
<!ENTITY httpd.minor "4">
-<!ENTITY httpd.patch "67">
+<!ENTITY httpd.patch "68">
<!ENTITY httpd.docs "2.4">
<a href="../ko/vhosts/details.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/vhosts/details.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Ce document vise à expliquer dans le détail comment le serveur
<div class="section">
<h2 id="hostmatching">Choix du serveur virtuel <a title="Lien permanent" href="#hostmatching" class="permalink">¶</a></h2>
- <p>À la réception d'une requête, le serveur procède comme suit pour
- déterminer quel serveur virtuel utiliser :</p>
-
- <h3 id="hashtable">Recherche de l'adresse IP</h3>
-
- <p>Lors d'une première connexion sur une adresse/port, le serveur
- recherche toutes les directives <code>VirtualHost</code> qui
- possèdent la même adresse IP/port.</p>
-
- <p>S'il n'y a aucune correspondance exacte pour cette adresse/port,
- la recherche s'effectue sur la valeur générique (<code>*</code>).</p>
-
- <p>Si aucune correspondance n'est enfin trouvée, la requête sera
- servie par le serveur principal.</p>
+ <p>Le serveur détermine le serveur virtuel à utiliser pour une requête en
+ deux phases : une recherche basée sur l’IP lorsque la connexion est établie,
+ puis une recherche optionnelle à base de nom à la réception de la requête.</p>
+
+ <h3 id="hashtable">Phase 1 : recherche sur l’adresse IP et
+ le port</h3>
+
+ <p>Lorsqu’une connexion est établie, le serveur recherche l’adresse IP et le
+ port de destination dans sa liste d’adresses/ports des <code>serveurs
+ virtuels</code>. Cette recherche respecte un ordre de priorité strict :</p>
+
+ <table class="bordered"><tr class="header"><th>Priorité</th><th>Type de correspondance</th><th>Exemple</th></tr>
+<tr><td>1</td><td>Adresse IP et port exacts</td>
+ <td><code><VirtualHost 10.0.0.1:80></code></td></tr>
+<tr class="odd"><td>2</td><td>Adresse IP exacte, port générique</td>
+ <td><code><VirtualHost 10.0.0.1:*></code></td></tr>
+<tr><td>3</td><td>Adresse IP générique (<code>*</code>), port exact</td>
+ <td><code><VirtualHost *:80></code></td></tr>
+<tr class="odd"><td>4</td><td>Adresse IP et port génériques</td>
+ <td><code><VirtualHost *:*></code></td></tr>
+<tr><td>5</td><td>Serveur principal</td>
+ <td>(aucun <code>serveur virtuel</code> ne correspond)</td></tr>
+</table>
+
+ <div class="note"><h3>Important</h3>
+ <p>Le serveur utilise la <em>première correspondance trouvée</em> en suivant
+ cet ordre. Lorsqu’une correspondance est trouvée à un niveau de priorité
+ donné, aucun niveau de priorité inférieur n’est considéré — même si un
+ serveur virtuel de priorité inférieure possède un <code>ServerName</code>
+ qui correspond au contenu de l’en-tête <code>Host</code> de la requête. La
+ recherche à base de nom (Phase 2) n’intervient que lorsque deux serveurs
+ virtuels de même niveau de priorité peuvent correspondre.</p>
+ </div>
<p>S'il existe des définitions <code>VirtualHost</code> pour
l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
<h3 id="ipbased">Serveur virtuel par IP</h3>
- <p>Si une seule section <code>VirtualHost</code> présente la
- meilleure correspondance avec la paire adresse IP/port, aucune
- action n'est entreprise et la requête est
- traitée par le serveur virtuel qui correspond.</p>
+ <p>Si la Phase 1 ne trouve qu’un seul <code>serveur virtuel</code>
+ correspondant, la requête est servie directement depuis ce dernier sans
+ effectuer d’autre recherche.</p>
- <h3 id="namebased">Serveur virtuel par nom</h3>
+ <h3 id="namebased">Phase 2 : recherche à base de nom</h3>
- <p>Si plusieurs sections <code>VirtualHost</code> présentent la
- meilleure correspondance avec la paire adresse IP/port, le terme
- "liste" dans les étapes suivantes fait référence à la liste des
- serveurs virtuels qui correspondent, selon l'ordre dans lequel ils
- apparaissent dans le fichier de configuration.</p>
+ <p>Si la phase 1 trouve plusieurs <code>serveurs virtuels</code>
+ correspondants de même niveau de priorité, le serveur effectue une recherche
+ à base de nom parmi ces serveurs virtuels en utilisant l’en-tête
+ <code>Host:</code> de la requête (ou le nom d’hôte SNI pour les connexions
+ SSL).</p>
<p>Si la connexion utilise SSL, si le serveur supporte l'<a class="glossarylink" href="../glossary.html#servernameindication" title="voir glossaire">Indication de nom de serveur</a>,
et si la négociation du client SSL inclut l'extension TLS dans le
serveur virtuel qui détermine quel certificat le serveur va utiliser
pour la connexion.</p>
- <p>Si la requête contient un en-tête <code>Host:</code>, on
- recherche dans la liste le premier serveur virtuel dont le
- <code>ServerName</code> ou le <code>ServerAlias</code> correspond,
- et c'est celui-ci qui va traiter la requête. Un en-tête
- <code>Host:</code> peut comporter un numéro de port mais Apache
- l'ignore systématiquement et utilise toujours le
- port sur lequel il a effectivement reçu la requête.</p>
+ <p>La recherche de serveurs virtuels correspondants s’effectue selon leur
+ ordre d’apparition dans le fichier de configuration :</p>
- <p>Le premier serveur virtuel du fichier de configuration qui
- possède l'adresse spécifiée est prioritaire et intercepte toutes les
- requêtes à destination d'un nom de serveur inconnu, ou toute requête
- sans en-tête <code>Host:</code> (comme les requêtes HTTP/1.0).</p>
+ <ol>
+ <li>Les contenus des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> et <code class="directive"><a href="../mod/core.html#serveralias">ServerAlias</a></code> de chaque serveur virtuel sont
+ comparés au nom d’hôte de la requête. La première correspondance est
+ retenue.</li>
+
+ <li>Si aucun <code>ServerName</code> ou <code>ServerAlias</code> ne
+ correspond, c’est le <em>premier serveur virtuel de la liste</em> qui sera
+ choisi. Il s’agit du <em>serveur virtuel à base de nom par défaut</em> pour
+ cette combinaison adresse/port.</li>
+ </ol>
+ <p>Un champ d’en-tête <code>Host:</code> peut contenir un numéro de port,
+ mais httpd l’ignore toujours et effectue sa recherche de correspondance avec
+ le port réel auquel le client a envoyé sa requête.</p>
+
+ <p>Si la requête ne possède pas d’en-tête <code>Host:</code> (comme les
+ requêtes HTTP/1.0), le premier serveur virtuel qui correspond est choisi.
+ Mais si une directive <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> est
+ configurée pour un des serveurs virtuels correspondants et que l’URL de la
+ requête correspond à ce chemin, la requête sera servie depuis ce serveur
+ virtuel. Il s’agit d’un mécanisme patrimonial pour les clients HTTP/1.0 ;
+ voir l’exemple avec <a href="examples.html#serverpath">ServerPath</a> pour
+ les détails.</p>
<h3 id="persistent">Connexions persistantes</h3>
- <p>La <em>recherche par adresse IP</em> décrite ci-avant n'est faite
- qu'<em>une fois</em> pour chaque session TCP/IP, alors que la
- <em>recherche par nom</em> est réalisée pour <em>chaque</em> requête au
- cours d'une connexion persistante (KeepAlive). En d'autres termes,
- il est possible pour un client de faire des requêtes sur
- différents serveurs virtuels par nom, au cours d'une unique
- connexion persistante.</p>
+ <p>La <em>recherche par adresse IP</em> (Phase 1) n'est effectuée qu'<em>une
+ fois</em> pour une session TCP/IP particulière, alors que la recherche par
+ nom (Phase 2) est effectuée pour <em>chaque</em> requête au cours d'une
+ connexion persistante (KeepAlive). En d'autres termes, il est possible pour
+ un client de faire des requêtes pour des pages sur différents serveurs
+ virtuels par nom, au cours d'une unique connexion persistante.</p>
<h3 id="observations">Observations</h3>
<ul>
- <li>La sélection d'un serveur virtuel en fonction de son nom est
- un processus qui intervient après la sélection par le serveur du
- serveur virtuel qui correspond le mieux du point de vue adresse
- IP/port.</li>
+ <li>La sélection d'un serveur virtuel en fonction de son nom est un
+ processus qui intervient <em>après</em> que le serveur a cerné la liste de
+ candidats qui correspondent du point de vue adresse IP.</li>
- <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le
- client s'est connecté, indiquez un caractère "*" comme adresse
- pour tous les serveurs virtuels, et la sélection du serveur
- virtuel en fonction du nom s'appliquera alors à tous les serveurs
- virtuels définis.</li>
+ <li>Si vous ne tenez pas compte de l'adresse IP à laquelle le client s'est
+ connecté, indiquez un caractère "<code>*</code>" comme adresse pour tous
+ les serveurs virtuels, et la sélection du serveur virtuel en fonction du
+ nom s'appliquera alors à tous les serveurs virtuels définis.</li>
<li>Les vérifications sur <code>ServerName</code> et
- <code>ServerAlias</code> ne sont jamais
- réalisées pour les serveurs virtuels par IP.</li>
+ <code>ServerAlias</code> ne sont jamais réalisées pour les serveurs
+ virtuels par IP (celles pour lesquelles il n’y a qu’un seul serveur
+ virtuel pour cette adresse IP/port).</li>
<li>Seul l'ordre des serveurs virtuels par nom
pour une adresse donnée a une importance. Le serveur virtuel
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant outdated="yes">tr</variant>
</variants>
#define AP_SERVER_MAJORVERSION_NUMBER 2
#define AP_SERVER_MINORVERSION_NUMBER 4
#define AP_SERVER_PATCHLEVEL_NUMBER 68
-#define AP_SERVER_DEVBUILD_BOOLEAN 1
+#define AP_SERVER_DEVBUILD_BOOLEAN 0
/* Synchronize the above with docs/manual/style/version.ent */