Sections de configuration
les directives situées ici ne s'appliquent que si la version
est supérieure ou égale à 2.4.0.
Arrghs! Cette section n'aura aucun effet Require all granted Require not host badguy.example.com
Il existe deux grands types de conteneurs. La plupart des conteneurs sont évalués pour chaque requête. Les directives qu'ils contiennent s'appliquent seulement aux requêtes qui sont concernées par le conteneur. En revanche, les conteneurs
sont
évalués seulement au démarrage et au redémarrage du serveur.
Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
s'appliqueront à toutes les requêtes. Si leurs conditions ne sont pas vérifiées, les
directives qu'ils contiennent seront ignorées.
contient des directives qui ne seront appliquées que si un paramètre
approprié a été défini dans la ligne de commande de
. 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 : httpdhttpd -DClosedForNow
est similaire; les directives qu'il contient ne s'appliqueront que si
un module particulier est disponible au niveau du serveur.
Le module doit être soit compilé statiquement dans le serveur, soit
dynamiquement et dans ce cas, la ligne
correspondante doit apparaître plus haut dans le fichier de configuration. Ce conteneur ne doit être utilisé que dans le cas où votre fichier de configuration doit fonctionner indépendamment de la présence ou de l'absence de certains modules. Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur à propos de modules manquants.LoadModule
ne s'appliquera que si le module MimeMagicFile
; les directives qu'il contient ne
s'appliqueront que si une version particulière du serveur s'exécute. Ce
conteneur a été conçu pour une utilisation dans les suites de tests
et les grands réseaux qui doivent prendre en compte différentes versions
et configurations de httpd.
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.
Les conteneurs de sections de configuration les plus couramment utilisés sont ceux qui modifient la configuration de points particuliers du système de fichiers ou de l'arborescence du site web. Tout d'abord, il est important de comprendre la différence entre les deux. Le système de fichiers est une vue de vos disques tels qu'ils sont perçus par votre système d'exploitation. Par exemple, avec une installation par défaut, Apache httpd est situé dans /usr/local/apache2
pour le système de fichiers UNIX, ou "c:/Program Files/Apache Group/Apache2"
pour le système de fichiers Windows. (Notez que des slashes directs doivent toujours être utilisés comme séparateur de chemin dans les fichiers de configuration d'Apache httpd, même sous Windows.) Quant à l'arborescence du site web, il s'agit d'une vue de votre site tel que présenté par le serveur web et perçue par le client. Ainsi le chemin /dir/
dans le système de fichiers pour une installation d'Apache httpd par défaut sous UNIX. En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au système de fichiers, car les pages web peuvent être générées dynamiquement à partir de bases de données ou d'autres emplacements.
s'appliquent au répertoire
précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
derniers contiennent.
Le même effet peut être obtenu en utilisant les
ainsi qu'à toute requête commençant par la chaîne de caractères /private
. Il n'est pas nécessaire de trouver un fichier nommé mod_statusserver-status
Alias /foo/bar /srv/www/uncommon/bar Alias /foo /srv/www/common/foo
ProxyPass /special-area http://special.example.com smax=5 max=10 ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
de la bibliothèque C standard. Le caractère "" correspond à toute séquence de caractères, "?" à un caractère seul, et "[seq]" à tout caractère contenu dans seq*. Le caractère "/" ne peut pas faire l'objet d'un remplacement; il doit être spécifié explicitement.
acceptent les
Un conteneur qui modifie la configuration de tous les répertoires utilisateurs à l'aide de caractères de remplacement mais sans utiliser les expressions rationnelles pourrait ressembler à ceci :
Avec les conteneurs utilisant les expressions rationnelles, on peut interdire l'accès à de nombreux types de fichiers d'images simultanément :
+
. Pour appliquer des directives à des objets
qui ne résident pas dans le système de fichiers (comme une page web générée
par une base de données), utilisez un conteneur
, quant à lui, s'appliquera
à tout contenu servi à partir de cette localisation,
sans tenir compte de la manière dont il est appelé.
(Les liens du système de fichiers constituent une exception.
Le même répertoire peut être placé dans plusieurs parties du système de
fichiers en utilisant des liens symboliques. Le conteneur
va suivre le
lien symbolique sans modifier le nom du chemin. Par conséquent, pour plus de
sécurité, les liens symboliques doivent être désactivés à l'aide de la
directive
Si vous pensez que vous n'êtes pas concerné par ce problème
parceque vous utilisez un système de fichiers sensible à la casse,
gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
correspondre plusieurs localisations de l'arborescence du site web à la même
localisation du système de fichiers. C'est pourquoi vous devez autant que
possible toujours utiliser les conteneurs de système de fichiers.
Il y a cependant une exception à cette règle. Placer des restrictions de
configuration dans un conteneur
est tout à fait sans rique car ce conteneur va s'appliquer à toutes les requêtes sans tenir compte de l'URL spécifique.
. Les valeurs des expressions
rationnelles correspondant aux sections nommées se comportent de manière
identique.
Les sections imbriquées sont fusionnées après les sections non-imbriquées de même type.
contient des directives qui s'appliquent à des hôtes spécifiques.
Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
chacun d'entre eux possédant une configuration différente. Pour de plus amples
informations,
voir la
appliquent les directives de configuration qu'ils contiennent uniquement aux
sites qui correspondent à l'URL spécifiée et auxquels on a
accédé via le serveur mandataire du module
. Par exemple, la configuration suivante va interdire l'utilisation du serveur proxy pour accéder au site mod_proxywww.example.com
Pour déterminer quelles sont les directives autorisées pour tel type de section de configuration, vérifiez le Contexte de la directive. Tout ce qui est autorisé dans les sections
l'est aussi d'un point de vue syntaxique dans les sections
.
Il y a cependant quelques exceptions :
.Les sections de configuration sont appliquées dans un ordre très particulier. Il est important de savoir comment cet ordre est défini car il peut avoir des effets importants sur la manière dont les directives de configuration sont interprétées.
sont appliqués simultanément (avec la possibilité pour .htaccess
, chaque groupe est traité selon
l'ordre dans lequel il apparaît dans les fichiers de configuration.
Les sections
(groupe 1 ci-dessus)
sont traitées dans l'ordre du répertoire le plus court vers le plus long.
Par exemple,
sera
traité avant
s'appliquent au même
répertoire, elles sont traitées selon l'ordre dans lequel elles
apparaissent dans le fichier de configuration.
Les sections de configuration incluses via la directive
sont traitées comme si elles se trouvaient réellement dans le fichier qui les inclut à la position de la directive Include
sont appliquées
Quand la requête est servie par le module
prend la place du conteneur
Les sections situées plus loin dans le fichier de configuration prévalent sur celles qui les précèdent ; cependant, chaque module est responsable de la définition de la forme que doit prendre cette prévalence. Une section de configuration ultérieure contenant des directives d'un certain module peut être à l'origine d'une fusion conceptuelle de certaines directives, de toutes les directives, ou un remplacement complet de la configuration du module par ses valeurs par défaut et les directives explicitement définies dans cette section ultérieure.
est réellement traitée juste avant la phase de traduction du nom (où Aliases
sont utilisés pour faire correspondre les URLs aux noms de fichiers). Les effets de cette séquence disparaissent totalement lorsque la traduction est terminée. Voici un exemple imaginaire qui montre l'ordre de combinaison des sections. En supposant qu'elles s'appliquent toutes à la requête, les directives de cet exemple seront appliquées dans l'ordre suivant : A > B > C > D > E.
Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte de toute restriction d'accès placée dans les sections
sera évaluée en dernier et permettra un accès au serveur sans aucune restriction. En d'autres termes, l'ordre de la combinaison des sections est important, soyez donc prudent
Modules | Directives | FAQ | Glossaire | Plan du site
Serveur Apache HTTP Version 2.4
Sections de configuration
Langues Disponibles: en | fr | ja | ko | tr
Les directives des fichiers de configuration 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 sections de configuration ou les fichiers .htaccess pour modifier la portée des directives de configuration.
.htaccess
- Types de conteneurs de sections de configuration
- Système de fichiers, arborescence du site web et expressions booléennes
- Hôtes virtuels
- Mandataire
- Quelles sont les directives autorisées ?
- Comment les sections sont combinées entre elles
Types de conteneurs de sections de configuration
Modules Apparentés
Directives Apparentées
coremod_versionmod_proxy
- core
- mod_version
- mod_proxy
core
mod_version
mod_proxy
Les conteneurs
Les directives contenues dans une section
Pour faire référence à des fichiers qui se trouvent en des points particuliers du système de fichiers, les sections
le conteneur
Le conteneur
Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre dans lequel certaines sections ou directives sont évaluées. Pour
Les directives
ProxyPass
Ceci est aussi vrai pour les directives ProxyPass :
Les conteneurs
Si une définition des critères de correspondance encore plus souple est nécessaire, chaque conteneur possède son équivalent acceptant les expressions rationnelles :
expression
Les expressions rationnelles contenant des groupes nommés et des références arrières sont ajoutées à l'environnement avec leur nom en majuscules. Ceci permet de référencer des éléments de chemins de fichiers et d'URLs depuis une expression et au sein de modules comme mod_rewrite.
La directive
Choisir entre des conteneurs de système de fichiers et des conteneurs d'arborescence du site web est vraiment très simple. Pour appliquer des directives à des objets qui résident dans le système de fichiers, utilisez toujours un conteneur
Il ne faut jamais utiliser un conteneur
Elle fonctionne correctement si la requête appelle http://yoursite.example.com/dir/. Mais que va-t-il se passer si votre système de fichiers est insensible à la casse ? Votre restriction va pouvoir être tout simplement contournée en envoyant une requête sur http://yoursite.example.com/DIR/. Le conte
Certains types de sections peuvent être imbriqués : d'une part, on peut utiliser les sections