From 7b31d4f4901cdb89a79f2f7de4a6b8bb637b523b Mon Sep 17 00:00:00 2001
From: Daniel Baumann Dans l'exemple ci-dessus, la directive AllowOverride
autorise les directives du
groupement AuthConfig
, et
- AllowOverrideList
n'autorise que deux
- directives du groupement FileInfo
. Toutes les autres
- provoqueront une erreur interne du serveur.AllowOverrideList
n'autorise que deux directives du
+ groupement FileInfo
. Toutes les autres provoqueront une erreur
+ interne du serveur.
Cette directive est évaluée lors du traitement de la configuration,
+ et non à l'exécution. Par conséquent, elle ne peut pas être évaluée de
+ manière conditionnelle en l'incluant dans une section <If>
.
Des modules supplémentaires peuvent fournir leurs propres
- fournisseurs ErrorLog. La syntaxe est similaire à celle de
- l'exemple syslog
ci-dessus.
SECURITE : Voir le document conseils à propos de
sécurité pour des détails sur les raisons pour lesquelles votre
sécurité peut être compromise si le répertoire contenant les
@@ -1775,7 +1782,7 @@ ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
-ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] remote\ %a local\ %A"
@@ -1841,7 +1848,7 @@ dans les versions 2.3.14 et antérieures.
La directive FileETag
définit les
caractéristiques de fichier utilisées lors de la génération de
l'en-tête de réponse HTTP ETag
(entity tag) quand le
- document est contenu dans un fichier statique(la valeur de
+ document est contenu dans un fichier statique (la valeur de
ETag
est utilisée dans le cadre de la gestion du cache pour préserver la
bande passante réseau). La directive
@@ -1864,13 +1871,16 @@ dans les versions 2.3.14 et antérieures.
est équivalente à :
FileETag INode MTime Size+
ETag
sera
+ généré à partir du condensé du fichier.ETag
ne sera inclus dans la réponseLes mots-clés INode
, MTime
, et
- Size
peuvent être préfixés par +
ou
+
Les mots-clés INode
, MTime
,
+ Size
et Digest
peuvent être préfixés par +
ou
-
, ce qui permet de modifier les valeurs par défaut
héritées d'un niveau de configuration plus général. Tout mot-clé
apparaissant sans aucun préfixe annule entièrement et immédiatement
@@ -1882,21 +1892,10 @@ dans les versions 2.3.14 et antérieures.
configuration de ce sous-répertoire (qui sera propagée vers tout
sous-répertoire qui ne la supplante pas), sera équivalente à
FileETag MTime Size
.
mod_dav_fs
comme fournisseur de stockage.
- mod_dav_fs
utilise
- MTime Size
comme format fixe pour les
- comparaisons de champs ETag
dans les requêtes
- conditionnelles. Ces requêtes conditionnelles échoueront si le
- format ETag
est modifié via la directive
- FileETag
.
- mod_include
, car l'entité de la réponse peut
- changer sans modification de l'INode, du MTime, ou de la taille du
+ changer sans modification de l'INode, MTime, Size ou Digest du
fichier statique contenant les directives SSI.
Description: | Nombre maximal de réponses en attente (pipelined) au-delà duquel +elles sont envoyées sur le réseau |
---|---|
Syntaxe: | FlushMaxPipelined number |
Défaut: | FlushMaxPipelined 5 |
Contexte: | configuration globale, serveur virtuel |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Disponible à partir de la version 2.4.47 du serveur HTTP Apache |
Cette directive permet de définir le nombre maximal de réponses + "pipelinées" qui restent en attente tant que des requêtes "pipelinées" sont + reçues. Lorsque cette limite est dépassée, l'envoi des réponses sur le + réseau est forcé en mode bloqué jusqu'à ce que leur nombre repasse en + dessous de la limite.
+ +La directive FlushMaxPipelined
permet de limiter
+ la consommation de mémoire. Lorsqu'elle est définie à 0
, le
+ pipelining est désactivé, et lorsqu'elle est définie à -1
, il n'y
+ a plus de limite (mais la directive FlushMaxThreshold
+ s'applique quand-même).
Description: | Seuil au-delà duquel les données en attente sont envoyées sur le +réseau |
---|---|
Syntaxe: | FlushMaxThreshold number-of-bytes |
Défaut: | FlushMaxThreshold 65535 |
Contexte: | configuration globale, serveur virtuel |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Disponible à partir de la version 2.4.47 du serveur HTTP Apache |
Cette directive permet de définir le seuil maximal de données en attente + d'envoi (en octets). Lorsque cette limite est dépassée, l'envoi des données sur le + réseau est forcé en mode bloqué jusqu'à ce que leur quantité repasse en + dessous du seuil spécifié.
+ +La directive FlushMaxThreshold
permet de limiter
+ la consommation de mémoire. Lorsqu'elle est définie à 0
ou à une
+ valeur trop petite, aucune donnée n'est mise en attente, mais dans le cas
+ des MPMs threadés, il peut alors y avoir plus de threads occupés en attente du
+ réseau, ce qui diminue d'autant le nombre de threads disponibles pour
+ traiter les autres connexions simultanées.
Enfin, si vous avez des directives Require à base de
nom, une recherche de nom d'hôte sera effectuée quelle que soit
- la définition de la directive HostnameLookups
.
HostnameLookups
.
Define
, Include
et
+ Error
ne peuvent pas être traitées de manière
+ conditionnelle en les incluant dans une section de configuration <If>
. Ces sections font en effet toujours partie de
+ la configuration, quelle soit la manière dont elles sont évaluées à
+ l'exécution.
+ -d
.
+
+ LimitRequestBody octets
LimitRequestBody 0
LimitRequestBody 1073741824
Cette directive spécifie la taille maximale autorisée pour le - corps d'une requête ; la valeur de l'argument octets va - de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note - ci-dessous pour la limite d'applicabilité aux requêtes mandatées.
+Cette directive permet de spécifier la taille maximale d'un corps de + requête, en octets. Une valeur de 0 signifie « sans + limites ».
La directive LimitRequestBody
permet de
définir une limite pour la taille maximale autorisée du corps d'une
@@ -2968,11 +3033,6 @@ envoyée par le client
LimitRequestBody 102400-
Pour une description détaillée de la manière dont cette
- directive est interprétée par les requêtes mandatées, voir la
- documentation du module mod_proxy
.
nombre est un entier de 0 (nombre de champs illimité)
- à 32767. La valeur par défaut est définie à la compilation par la
- constante DEFAULT_LIMIT_REQUEST_FIELDS
(100 selon la
+
nombre est un entier de 0 à 32767. La valeur 0 signifie un
+ nombre de champs illimité. La valeur par défaut est définie à la compilation
+ par la constante DEFAULT_LIMIT_REQUEST_FIELDS
(100 selon la
distribution).
La directive LimitRequestFields
permet à
@@ -3049,12 +3109,12 @@ requête HTTP
contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
atteindre une taille de 12392 octets.
>L'administrateur du serveur peut utiliser cette directive pour +
L'administrateur du serveur peut utiliser cette directive pour contrôler plus efficacement les comportements anormaux des requêtes des clients, ce qui lui permettra de prévenir certaines formes d'attaques par déni de service.
-Par exemple ::
+Par exemple :
LimitRequestFieldSize 4094@@ -3129,13 +3189,19 @@ XML
Taille maximale (en octets) du corps d'une requête au format XML.
- Une valeur de 0
signifie qu'aucune limite n'est
- imposée.
Taille maximale (en octets) du corps d'une requête au format XML. Une
+ valeur de 0
appliquera une limite physique (différente selon
+ que le système est sur 32 ou 64 bits) permettant à XML de s'étaler jusqu'aux
+ limites de la mémoire adressable du système, mais elle n'existe qu'à des
+ fins de compatibilité et il est déconseillé de l'utiliser car elle ne tient
+ pas compte de la mémoire consommée ailleurs et des requêtes simultanées, ce
+ qui pourrait provoquer un dépassement de mémoire global du système.
+
Exemple :
-LimitXMLRequestBody 0+
# Limitation à 1 Mo +LimitXMLRequestBody 1073741824@@ -3246,8 +3312,8 @@ spécifiées qu'il est difficile de distinguer
~
de -
dans la plupart des fontes.
- La directive <Location>
- s'utilise principalement avec la directive SetHandler
. Par exemple, pour activer les
+
La fonctionnalité <Location>
+ est particulièrement utile avec la directive SetHandler
. Par exemple, pour activer les
requêtes d'état, mais ne les autoriser que depuis des navigateurs
appartenant au domaine example.com
, vous pouvez
utiliser :
La signification du caractère slash dépend de l'endroit où il
- se trouve dans l'URL. Les utilisateurs peuvent être habitués à
- son comportement dans le système de fichiers où plusieurs slashes
- successifs sont souvent réduits à un slash unique (en d'autres
- termes, /home///foo
est identique à
- /home/foo
). Dans l'espace de nommage des URLs, ce
- n'est cependant pas toujours le cas. Pour la directive <LocationMatch>
et la
- version avec expressions rationnelles de la directive <Location>
, vous devez spécifier
- explicitement les slashes multiples si telle est votre
- intention.
La signification du
+ caractère slash dépend de l'endroit où il se trouve dans l'URL. Les
+ utilisateurs peuvent être habitués à son comportement dans le système de
+ fichiers où plusieurs slashes successifs sont souvent réduits à un slash
+ unique (en d'autres termes, /home///foo
est identique à
+ /home/foo
). Dans l'espace de nommage des URLs, ce n'est
+ cependant pas toujours vrai si la directive MergeSlashes
a été définie à "OFF". Pour la
+ directive <LocationMatch>
+ et la version avec expressions rationnelles de la directive <Location>
, vous devez spécifier explicitement les
+ slashes multiples si les slashes ne sont pas fusionnés.
Par exemple, La signification du
+ caractère slash '/' dépend de l'endroit où il apparaît dans une URL. Les
+ utilisateurs sont habitués à voir de multiples slashes adjacents réduits à
+ un seul au sein du système de fichiers (par exemple,
+ Par exemple, <LocationMatch "^/abc">
va
correspondre à l'URL /abc
mais pas à l'URL
@@ -3338,6 +3403,27 @@ correspondant à une expression rationnelle
</LocationMatch>
+
Note à propos du slash '/'
/home///foo
est équivalent à /home/foo
). Ce n'est
+ n'est cependant pas toujours vrai au sein des URLs si la directive
+ MergeSlashes
a été définie à "OFF". En
+ effet, si vous souhaitez spécifier plusieurs slashes, vous devez le faire
+ explicitement au sein de la directive <LocationMatch>
et de la version regex de la
+ directive <Location>
, si les slashes ne
+ sont pas fusionnés.<LocationMatch "^/abc">
correspondra à
+ l'URL /abc
, mais pas à l'URL //abc
. La directive
+ (non-regex) <Location>
se comporte de
+ la même manière lorsqu'elle est utilisée dans les requêtes de mandataire.
+ Par contre, pour les autres types de requêtes, la directive <Location>
considérera plusieurs slashes
+ adjacents comme équivalents à un seul slash. Par exemple, si vous
+ spécifiez <Location "/abc/def">
, une requête pour
+ /abc//def
correspondra.Voir aussi
@@ -3697,6 +3783,40 @@ Apache
données maximal que le serveur renverra au client.
+
Description: | Fusion des slashes consécutifs dans les URLs par le serveur. + |
---|---|
Syntaxe: | MergeSlashes ON|OFF |
Défaut: | MergeSlashes ON |
Contexte: | configuration globale, serveur virtuel |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Disponible à partir de la version 2.4.39 du serveur HTTP Apache |
Par défaut, le serveur fusionne les caractères slash ('/') multiples et + consécutifs dans la partie chemin de l'URL d'une requête.
+ +Lorsque cette partie chemin de l'URL est appliquée au système de
+ fichiers, ces slashes multiples sont inutiles. Il peut être cependant
+ préférable de conserver ces slashes multiples et consécutifs car ils peuvent
+ avoir une signification dans le cas des URLs gérées différemment, par
+ exemple par CGI ou par un serveur mandataire. Il convient alors de définir
+ MergeSlashes
à OFF pour conserver les
+ slashes multiples consécutifs, ce qui correspond au comportement
+ traditionnel.
+ Lorsque cette directive est définie à "OFF", les expressions rationnelles utilisées dans le
+ fichier de configuration pour effectuer une comparaison de la partie chemin
+ de l'URL ((LocationMatch
,
+ RewriteRule
, ...) doivent en effet tenir compte de la
+ présence éventuelle de slashes multiples et consécutifs. Les sections
+ Location
à base d'expressions non rationnelles
+ correspondent toujours à des URLs avec slashes fusionnés et ne peuvent pas
+ tenir compte des slashes multiples.
AcceptFilter
.
- Vous ne devez définir le protocole que si vous travaillez avec
- des ports non standards ; dans le cas général, le protocole
- http
est associé au port 80 et le protocole
- https
au port 443.
Dans la plupart des configurations, cette directive n'est pas nécessaire.
+ Si elle n'est pas définie, le protocole par défaut pour le port 443 est
+ https
et http
pour tous les autres ports. La
+ connaissance du protocole permet de déterminer quel module doit traiter la
+ requête, et d'appliquer les optimisations spécifiques au protocole via la
+ directive AcceptFilter
.
Par exemple, si vous travaillez avec le protocole
https
sur un port non standard, spécifiez le protocole
@@ -4291,20 +4413,21 @@ seulement depuis la version 2.3.3 sous Windows.
Description: | Vérifie si la variable d'environnement REDIRECT_URL est pleinement qualifiée |
---|---|
Syntaxe: | QualifyRedirectURL ON|OFF |
Défaut: | QualifyRedirectURL OFF |
Syntaxe: | QualifyRedirectURL On|Off |
Défaut: | QualifyRedirectURL Off |
Contexte: | configuration globale, serveur virtuel, répertoire |
Surcharges autorisées: | FileInfo |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Directive supportée à partir de la version 2.4.18 du serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait -comme si la directive QualifyRedirectURL était définie à ON. |
Cette directive permet de s'assurer que le serveur vérifiera que
la variable d'environnement REDIRECT_URL est bien pleinement
qualifiée. Par défaut, cette variable contient l'URL textuellement
- demandée par le client, par exemple "/index.html". Avec QualifyRedirectURL ON
, la même requête
+ demandée par le client, par exemple "/index.html". Avec
+ QualifyRedirectURL ON
, la même requête
affectera à la variable REDIRECT_URL une valeur du style
"http://www.example.com/index.html".
Même si cette directive n'est pas définie, lorsqu'une requête est @@ -4312,6 +4435,26 @@ comme si la directive QualifyRedirectURL était définie à ON. contiendra quand-même une URL pleinement qualifiée.
+Description: | Taille des tampons utilisés pour lire les données |
---|---|
Syntaxe: | ReadBufferSize bytes |
Défaut: | ReadBufferSize 8192 |
Contexte: | configuration globale, serveur virtuel, répertoire |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Disponible à partir de la version 2.5 du serveur HTTP +Apache. |
Cette directive permet de définir la taille (en octets) du tampon mémoire + utilisé pour lire des données depuis le réseau ou un fichier.
+ +Un tampon de grande taille peut améliorer les performances pour les + grandes quantités de données, mais consomme d'avantage de mémoire par + connexion. La taille minimale du tampon est de 1024 octets.
+RegexDefaultOptions [none] [+|-]option [[+|-]option] ...
RegexDefaultOptions DOLLAR_ENDONLY
RegexDefaultOptions DOTALL DOLLAR_ENDONLY
ICASE
EXTENDED
DOTALL
DOLLAR_ENDONLY
# -RegexDefaultOptions +ICASE +DOLLAR_ENDONLY +# Ajoute l'option ICASE par défaut pour toutes les expressions rationnelles +RegexDefaultOptions +ICASE ... -# Supprime l'option ICASE, tout en conservant toutes les autres options -# préexistantes -RegexDefaultOptions -ICASE +# Supprime l'option DOLLAR_ENDONLY par défaut et conserve toutes les autres +# options +RegexDefaultOptions -DOLLAR_ENDONLY ... -# Définit l'option par défaut à DOTALL et annule toutes les autres options +# Définit l'option DOTALL seule et annule toutes les autres options RegexDefaultOptions DOTALL ... # Annule toutes les options définies @@ -4567,8 +4715,7 @@ CGI suivent.
L'option Registry-Strict
, apparue avec la version
- 2.0 du serveur HTTP Apache,
+
L'option Registry-Strict
agit de manière identique à Registry
, mais n'utilise
que la sous-clé Shell\ExecCGI\Command
. La présence de
la clé ExecCGI
n'étant pas systématique, Elle doit être
@@ -4590,7 +4737,7 @@ elle-même possède plus de 63 caractères.
Avec ExtendedStatus On
, mod_status affiche la
+
Avec ExtendedStatus On
, mod_status
affiche la
véritable requête en cours de traitement. Pour des raisons
historiques, seuls 63 caractères de la requête sont réellement
stockés à des fins d'affichage. Cette directive permet de déterminer
@@ -4600,7 +4747,7 @@ d'Apache httpd.
si la taille de la requête est de 64 caractères ou plus.
Si Apache httpd traite la requête GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1
- , l'affichage de la requête par mod_status se présentera comme suit :
+ , l'affichage de la requête par mod_status
se présentera comme suit :
Description: | Détermine si le nom d'hôte contenu dans une requête doit être +explicitement spécifié au niveau du serveur virtuel qui a pris en compte cette +dernière. + |
---|---|
Syntaxe: | StrictHostCheck ON|OFF |
Défaut: | StrictHostCheck OFF |
Contexte: | configuration globale, serveur virtuel |
Statut: | Noyau httpd |
Module: | core |
Compatibilité: | Disponible à partir de la version 2.4.49 du serveur HTTP Apache. |
Par défaut, le serveur répond aux requêtes quel que soit le nom d'hôte + qu'elles contiennent, y compris un nom d'hôte non prévu dans la + configuration. Bien que cela soit pratique, il peut s'avérer souhaitable de + restreindre les noms d'hôte qu'une application sous-jacente devra prendre en + compte car elle va souvent générer des réponses en se référençant elle-même.
+ +Si la directive StrictHostCheck
est définie à
+ ON, le serveur générera une erreur HTTP 400 si le nom d'hôte que
+ contient la requête n'a pas été explicitement spécifié par une directive
+ ServerName
ou ServerAlias
au niveau du serveur virtuel qui
+ correspond le mieux aux caractéristiques de la connexion entrante.
Cette directive permet aussi de rechercher une correspondance entre le nom
+ d'hôte de la requête et les noms d'hôte spécifiés au sein de la balise
+ ouvrante VirtualHost
. Il s'agit
+ cependant d'un mécanisme de configuration relativement obscur qui agit comme
+ une directive ServerAlias
+ supplémentaire.
Cette directive n'a aucun effet dans les serveurs virtuels qui ne sont pas + des serveurs par défaut. La valeur héritée de la configuration globale du + serveur ou le serveur virtuel par défaut pour l'adresse IP/port de la + connexion sous-jacente déterminent la valeur effective.
+<IfDefine>
sans avoir à modifier les arguments -D
dans les scripts
de démarrage.
- Si cette directive est définie au sein d'un bloc VirtualHost, les - changements qu'elle induit sont visibles de toute directive - ultérieure, au delà de tout bloc VirtualHost.
+ +Afin d'éviter tout risque de collision avec la syntaxe de la directive
+ RewriteMap
, les noms de
+ variables ne doivent pas contenir de caractère ":".
Si cette directive est définie au sein d'un bloc VirtualHost, les + changements qu'elle induit sont visibles de toute directive + ultérieure, au delà de tout bloc VirtualHost.
+