From: Eric Covener
Configuration du serveur HTTP Apache pour l'écoute sur un port et une adresse IP spécifiques.
diff --git a/docs/manual/configuring.html.fr.utf8 b/docs/manual/configuring.html.fr.utf8 index 5bbab7ab9a..a8d64e5564 100644 --- a/docs/manual/configuring.html.fr.utf8 +++ b/docs/manual/configuring.html.fr.utf8 @@ -30,8 +30,6 @@ ko | tr -Ce document décrit les fichiers utilisés pour configurer le Serveur HTTP Apache.
@@ -92,6 +90,48 @@ le Serveur HTTP Apache. 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. +Un argument qui contient des espaces doit être entouré de guillemets
+ doubles (") ou de guillemets simples ('). Les
+ guillemets eux-mêmes ne font pas partie de l’argument.
À l’intérieur d’une chaîne entre guillemets, seules deux séquences
+ d’échappement sont reconnues : \\ produit une controblique
+ littérale et \" (ou \' 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, \n sera considéré comme une chaîne
+ littéral de deux caractères \n, pas comme une nouvelle
+ ligne.
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.
+ +Notez que des chaînes entre guillemets adjacentes sans espace entre elles + ne sont pas concaténées — elles sont traitées comme des + arguments séparés. Par exemple :
+ +
+ # Il ne s’agit pas d’un seul argument, mais de DEUX :
+ Header set X-Foo "arg1""arg2"
+
Certaines directives acceptent des arguments qui contiennent des
+ sous-expressions ayant leur propre syntaxe, telles que les drapeaux de la
+ directive RewriteRule ou les
+ expression ap_expr. 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.
Les directives dans les fichiers de configuration ne sont pas sensibles à la casse, mais leurs arguments le sont souvent.
diff --git a/docs/manual/configuring.xml.meta b/docs/manual/configuring.xml.meta index 28796b60e2..e719482486 100644 --- a/docs/manual/configuring.xml.meta +++ b/docs/manual/configuring.xml.meta @@ -9,7 +9,7 @@Apache HTTPD prend en charge la négociation de
diff --git a/docs/manual/content-negotiation.xml.meta b/docs/manual/content-negotiation.xml.meta
index 5ebb3ced68..d9d19c5db3 100644
--- a/docs/manual/content-negotiation.xml.meta
+++ b/docs/manual/content-negotiation.xml.meta
@@ -8,7 +8,7 @@
Available in versions after 2.0.54 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.
@@ -479,7 +477,7 @@
Available in 2.4.59 and later This variable allows a script running in CGI-like module to supply it's
+ 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.
DirectoryIndex
or generating a directory listing with mod_autoindex,
- per-request environment variables are not inherited in the
- subrequest. Additionally,
+ per-request environment variables are not inherited in the
+ subrequest. Additionally,
SetEnvIf directives
are not separately evaluated in the subrequest due to the API phases
mod_setenvif takes action in.
@@ -437,8 +437,6 @@
suppress-error-charset
- ap_trust_cgilike_cl
Deux types de variables d'environnement affectent le serveur HTTP Apache.
@@ -174,6 +172,18 @@| Modules Apparentés | Directives Apparentées |
|---|---|
De nombreux exemples d’utilisation qui nécessitaient auparavant de
+ définir et tester des variables d’environnement — par exemple les en-têtes
+ conditionnels, le contrôle d’accès et la journalisation — peuvent
+ maintenant être traités de manière plus directe en utilisant les
+ expressions <If> avec la
+ fonction reqenv. Voir Les expressions
+ dans le serveur HTTP Apache pour la syntaxe des expressions et la
+ liste complète des variables disponibles.
Require
+ expr fournit une alternative qui permet d’évaluer des
+ variables d’environnement en utilisant la fonction reqenv
+ en combinaison avec d’autres propriétés de requête.
@@ -282,8 +296,14 @@
par la spécification de HTTP. Elles ont été plus largement adoptées et
constituent une méthode standard pour transmettre des informations entre le
navigateur et le serveur, et entre les processus au sein du serveur. Nous en
- décrivons quelques unes ici ; consultez la spécification de CGI pour
- plus de détails.
+ décrivons quelques unes ici. Pour une liste complète des variables de
+ requête disponibles dans les expressions (parmi
+ lesquelles REQUEST_URI, REMOTE_ADDR,
+ SERVER_NAME et de nombreuses autres), voir le document de
+ référence variables dans les expressions.
+
+ Consultez la spécification CGI pour plus de détails à propos des + métavariables CGI standard.
Disponible dans les versions postérieures à 2.0.54
-Quand Apache httpd génère une redirection en réponse à une requête client,
la réponse inclut un texte destiné à être affiché au cas où le client ne
suivrait pas, ou ne pourrait pas suivre automatiquement la redirection.
diff --git a/docs/manual/env.xml.meta b/docs/manual/env.xml.meta
index 67070dc314..e9ca77529f 100644
--- a/docs/manual/env.xml.meta
+++ b/docs/manual/env.xml.meta
@@ -8,7 +8,7 @@
Historiquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
@@ -52,7 +50,7 @@
Pour des informations à propos de la définition et de la manipulation des
+ variables d’environnement de requête (en utilisant Les variables suivantes contiennent la valeur de l'en-tête de
requête HTTP correspondant. La fonction
La fonction Lorsque les fonctions La FAQ a été transférée vers le Wiki du serveur HTTP. Si vous ne connaissez rien au serveur HTTP Apache, ou même au
fonctionnement d'un site web, vous vous demandez probablement par où
diff --git a/docs/manual/glossary.html.fr.utf8 b/docs/manual/glossary.html.fr.utf8
index b378c0e497..6c148f630f 100644
--- a/docs/manual/glossary.html.fr.utf8
+++ b/docs/manual/glossary.html.fr.utf8
@@ -31,8 +31,6 @@
ko |
tr Ce glossaire définit la terminologie courante relative au serveur HTTP
Apache en particulier, et aux serveurs web en général. Vous trouverez plus
@@ -149,6 +147,14 @@
pour décrire les directives de httpd
+ 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'authentification et d'autorisation. Voir aussi le How-To Authentification and
autorisation. Voir la documentation sur la fusion
+ des sections de configuration pour un avertissement à propos de la
+ manière dont la directive Langues Disponibles: en |
diff --git a/docs/manual/howto/access.xml.meta b/docs/manual/howto/access.xml.meta
index ee45dee0b6..39cc277557 100644
--- a/docs/manual/howto/access.xml.meta
+++ b/docs/manual/howto/access.xml.meta
@@ -9,6 +9,6 @@
L'authentification est un processus qui vous permet de vérifier
qu'une personne est bien celle qu'elle prétend être. L'autorisation
@@ -509,7 +507,10 @@ autorisation ¶
l'autorisation d'accès. Voir Conteneurs
d'autorisations pour un exemple de la manière de les
utiliser pour exprimer des logiques d'autorisation
- complexes. Par défaut, toutes les directives 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 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. Lorsque des en-têtes HTTP ne sont pas transmis à
- l'environnement, assurez-vous qu'ils sont bien formatés selon la
- RFC 2616, 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é. Lorsque des en-têtes HTTP ne sont pas transmis à l'environnement,
+ assurez-vous qu'ils sont bien formatés selon la RFC 2616, 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é. Pour savoir si vous pouvez utiliser suexec, tapez la commande
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 à
- Common Gateway
- Interface RFC. 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 RFC 3875 (Common Gateway
+ Interface). Ce programme CGI basique en Perl permet d'afficher toutes les
variables d'environnement qui sont échangées. Deux programmes
@@ -589,14 +585,14 @@ foreach my $key (keys %ENV) {
la majorité des programmes. Si vous écrivez des programmes CGI en C, vous disposez de nombreuses
- options. L'une d'elles est la bibliothèque La spécification CGI actuelle est disponible dans la Common Gateway
- Interface RFC. La spécification CGI actuelle est disponible dans la RFC 3875
+ (Common Gateway Interface). 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
diff --git a/docs/manual/howto/htaccess.html.fr.utf8 b/docs/manual/howto/htaccess.html.fr.utf8
index 57bff0913c..b1ca81dadb 100644
--- a/docs/manual/howto/htaccess.html.fr.utf8
+++ b/docs/manual/howto/htaccess.html.fr.utf8
@@ -30,11 +30,10 @@
ko |
pt-br Les fichiers En général, les fichiers Les directives dans les fichiers Par exemple, si vous regardez la documentation de la directive
Si vous n'êtes pas sûr qu'une directive particulière soit permise
- dans un fichier En principe, vous ne devriez utiliser les fichiers
- Les fichiers Cependant et d'une manière générale, il vaut mieux éviter
- d'utiliser les fichiers Il y a deux raisons principales d'éviter l'utilisation des
- fichiers La première est liée aux performances. Lorsque la directive
+ 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 Les fichiers Il y a deux raisons de préférer le fichier de configuration principal
+ aux fichiers Performance : Lorsque la directive
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
@@ -198,8 +166,7 @@ Includes - SSI)
autorisés pour le répertoire La seconde raison d'éviter l'utilisation des fichiers
- Sécurité : 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
@@ -212,6 +179,23 @@ Includes - SSI)
diriger les utilisateurs vers la documentation correspondante vous
évitera bien des confusions ultérieures. Si vous devez autoriser les fichiers Avec cette configuration, toute directive non explicitement spécifiée
+ causera une erreur du serveur si elle est rencontrée dans un fichier
+ Notez que mettre un fichier 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 L'utilisation des fichiers 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 Ceci étant dit, si vous pensez que vous devez quand-même utiliser
- un fichier Comme avec toute utilisation de fichier Contenu du fichier Les fichiers Les fichiers Notez aussi que dans un contexte Veuillez vous référer à cette documentation
pour une étude détaillée de l'utilisation du module
- En fin de compte, vous avez décidé d'utiliser un fichier
- Vous pouvez utiliser un fichier Alternativement, si vous souhaitez que tous les fichiers d'un
@@ -442,14 +419,18 @@ SetHandler cgi-script
les directives que vous avez mises dans un fichier
Le plus souvent, le problème vient du fait que la définition de
- la directive Le plus souvent, le problème vient du fait que la définition de la
+ directive Si aucune erreur (HTTP 500) n'est générée par le
serveur, il est pratiquement certain qu'une directive
Cela signifie soit que vous utilisez une directive qui n'est
jamais permise dans les fichiers Le journal des erreurs peut aussi vous signaler une erreur de
syntaxe dans l'usage de la directive elle-même. Dans ce cas, le message d'erreur sera spécifique à l'erreur
de syntaxe que vous avez commise. Ce document est le guide de l'utilisateur de l'implémentation de HTTP/2
dans Apache httpd. Cette fonctionnalité en est au stade
@@ -57,8 +55,8 @@
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. Beaucoup a déjà été écrit à propos de HTTP/2 et de son fonctionnement. La
- documentation la plus officielle est bien entendu sa RFC 7540 (ou cette version au format plus
- lisible). Vous trouverez ici une description des rouages de HTTP/2 dans
+ documentation la plus officielle est bien entendu sa RFC 7540 (ou cette version au format plus
+ lisible : YMMV (RFC 7540). Vous trouverez ici une description des rouages de HTTP/2 dans
leurs moindres détails. 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 ce
@@ -83,13 +81,13 @@
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,
@@ -343,7 +341,7 @@
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. L'
+ L'
en-tête Accept-Push-Policy est un autre dispositif expérimental
implémenté dans A l'instar des ressources PUSHées, une autre méthode consiste à envoyer
des en-têtes Pour utiliser cette fonctionnalité, vous devez l'activer explicitement
sur le serveur via : Ce document couvre l'installation et la compilation du serveur
@@ -50,7 +48,7 @@
des projets Open Source . Si vous effectuez une mise à jour depuis une version mineure vers
- la suivante (par exemple, 2.4.8 à 2.4.9), veuillez passer à la section
+ la suivante (par exemple, 2.4.66 à 2.4.67), veuillez passer à la section
mise à jour. Les prérequis pour la construction d'Apache httpd sont les suivants: Les prérequis pour la construction et l’exécution d'Apache httpd sont les
+ suivants: Le serveur HTTP Apache peut être téléchargé à partir du
- site de téléchargement
- du serveur HTTP Apache, qui fournit la liste de nombreux miroirs.
- Il sera plus commode à la plupart des utilisateurs d'Apache sur les
- systèmes UNIX ou similaires de télécharger et de compiler
- la version sources. Le processus de construction (décrit ci-dessous) est
- simple, et vous permet de personnaliser votre serveur selon vos besoins.
- En outre, les versions binaires sont souvent plus anciennes que les
- dernières versions sources. Si vous téléchargez une version binaire,
- suivez les instructions décrites dans le fichier
- Après le téléchargement, il est important de vérifier que vous
- disposez d'une version complète et non modifiée du serveur HTTP Apache.
- Vous pouvez le faire en testant l'archive téléchargée à l'aide de
- la signature PGP. Vous trouverez les détails de cette opération sur la page de téléchargement ainsi qu'un exemple précis décrivant l'utilisation de
- PGP. Si vous voulez construire httpd depuis le code source, commencez par
+ télécharger l’archive tar du code source depuis le site de téléchargement du
+ serveur HTTP Apache. Le processus de construction (décrit ci-après)
+ permet de personnaliser le serveur pour qu’il corresponde à vos besoins. Après le téléchargement, il est important de vérifier que vous disposez
+ d'une version complète et non modifiée du serveur HTTP Apache. Vous pouvez
+ le faire en testant l'archive téléchargée à l'aide de la signature PGP. Vous
+ trouverez les détails de cette opération sur la page de
+ vérification. L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
- simplement à décompresser et à désarchiver cette dernière : Extraire les sources depuis l'archive du serveur HTTP Apache : Ceci créera, dans le répertoire courant, un nouveau répertoire
@@ -291,7 +292,7 @@ $ tar xvf httpd-NN.tar
ce qui n'est pas nécessaire pour les versions officielles). Pour configurer l'arborescence des sources avec les valeurs par défaut
- pour toutes les options, entrez simplement En outre, vous devrez peut-être fournir au script
Vous pouvez maintenant construire les différents éléments qui
- composent le paquet Apache en lançant tout simplement la commande : Consultez le manuel d'Apache situé dans
La première étape d'une mise à jour consiste à lire l'annonce de la
- sortie de la nouvelle version et le fichier La mise à jour d'une version mineure à la suivante (par exemple, de
- 2.2.55 à 2.2.57) est plus aisée. Le processus De nombreux tiers fournissent leur propre distribution du
- serveur HTTP Apache à installer sur une plate-forme particulière. On
- peut citer les différentes distributions Linux, divers
- paquets tiers Windows, Mac OS X, Solaris et de nombreux autres. De nombreux tiers fournissent leur propre distribution du serveur HTTP
+ Apache à installer sur une plate-forme particulière. On peut citer les
+ différentes distributions Linux, divers paquets Windows,
+ macOS, et de nombreux autres. Notre license logicielle non seulement permet, mais aussi
encourage ce genre de redistribution. Cependant, ceci conduit à une
@@ -489,9 +488,8 @@ $ PREFIX/bin/apachectl -k start
situation n'est pas appelée à évoluer de sitôt. Une description
- de ces distributions tierces est maintenue dans le wiki du
- serveur HTTP, et doit en refléter l'état actuel. Vous devrez
- cependant vous familiariser par vous-même avec la gestion du paquet
+ de ces distributions tierces est dans le wiki du serveur HTTP. Vous
+ devrez cependant vous familiariser par vous-même avec la gestion du paquet
de votre plate-forme particulière et les procédures d'installation. Sous Windows, Apache est habituellement lancé en tant que
service. Pour plus de détails, voir Démarrer Apache en tant
diff --git a/docs/manual/misc/perf-tuning.html.fr.utf8 b/docs/manual/misc/perf-tuning.html.fr.utf8
index d2ee37ab56..7581ddec07 100644
--- a/docs/manual/misc/perf-tuning.html.fr.utf8
+++ b/docs/manual/misc/perf-tuning.html.fr.utf8
@@ -28,8 +28,6 @@
ko |
tr Apache 2.x est un serveur web à usage général, conçu dans un but
@@ -771,7 +769,7 @@
- Comme discuté dans
+ Comme discuté dans
draft-ietf-http-connection-00.txt section 8, pour implémenter de
manière fiable le protocole, un serveur HTTP doit fermer
les deux directions d'une communication indépendamment (rappelez-vous
@@ -838,7 +836,7 @@
déconseillé. En particulier, comme les connexions persistantes en
pipeline de HTTP/1.1 commencent à être utilisées,
This page documents all the relevant standards that the
- Apache HTTP Server follows, along with brief descriptions. This page documents the relevant standards that the
+ Apache HTTP Server implements or follows, along with brief
+ descriptions. In addition to the information listed below, the following resources
should be consulted: This document is not yet complete. Regardless of what modules are compiled and used, Apache as a
- basic web server complies with the following IETF recommendations: The following standards apply when Regarding the Hypertext Markup Language, Apache complies with
- the following IETF and W3C recommendations: Concerning the different methods of authentication: When Concerning the different methods of authentication, Apache
- follows the following IETF recommendations: When The following links document ISO and other language and country
- code information: Language and country codes used in content negotiation: Cette page documente tous les standards applicables que suit le
serveur HTTP Apache, accompagnés d'une brève description. Indépendamment des modules compilés et utilisés, Apache en
+ Sans tenir compte des modules compilés et utilisés, Apache en
tant que serveur web de base respecte les recommandations IETF
suivantes : Les liens suivants fournissent des informations à propos des
- codes de langues et de pays aux normes ISO ou autres : ÀÌ ¹®¼¿¡´Â °£´ÜÇÑ ¼³¸í°ú ÇÔ²² ¾ÆÆÄÄ¡ À¥¼¹ö°¡ µû¸£´Â
¸ðµç °ü·Ã Ç¥ÁØÀ» ¿°ÅÇÑ´Ù. Ce document propose quelques conseils et astuces concernant les
problèmes de sécurité liés
@@ -45,6 +43,7 @@
Quand vous utilisez des cadriciels à contenu dynamique — que ce soit à
+ travers Les principes généraux s’appliquent à tout cadriciel : Au niveau de httpd, un pare-feu d’application web tel que ModSecurity peut fournir une couche
+ supplémentaire de défense en inspectant et filtrant le trafic HTTP avant qu’il
+ n’atteigne votre application. Portez une attention particulière aux interactions entre les directives
De même, soyez méfiant en jouant avec la directive
@@ -417,47 +443,38 @@
- Pour vous tenir informé de ce qui se passe réellement dans votre
- serveur, vous devez consulter vos
- fichiers journaux. 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. Pour vous tenir informé de ce qui se passe réellement dans votre serveur,
+ consultez régulièrement vos fichiers journaux.
+ 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. Quelques exemples : Le premier exemple listera les attaques essayant d'exploiter la
- vulnérabilité
- d'Apache Tomcat pouvant provoquer la divulgation d'informations par des
- requêtes Source.JSP mal formées, le second donnera la liste des dix
- dernières interdictions client ; par exemple : 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
- 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 : dans votre journal des accès ; ce
- qui signifie que vous avez probablement mis en commentaire ce qui suit dans
- le fichier de configuration de votre serveur : 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
+ Even though the list of options that may be used in .htaccess files
- can be limited with this directive, as long as any This restriction only controls which options a
+ When a For example, if the server configuration sets: and a then In short, this mechanism cannot force a specific option to
+ remain set while allowing any others to be set. 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 activés pour ce répertoire. Par exemple
- : avant de renvoyer le document
- 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 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 C’est pour cette raison que le fichier de configuration par défaut
+ contient les instructions suivantes : 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
+ Lorsque le serveur trouve un fichier Lorsque le serveur trouve un fichier de configuration distribuée (nommé
+ en général Dans l'exemple ci-dessus, la directive En outre, certaines directives sont toujours permises dans les fichiers
+ Cette directive permet de contrôler la manière dont certaines variables CGI
- sont définies. Par défaut, la variable d’environnement CGI Avec règles REQUEST_URI : Valeurs autorisées : Dans tous les cas, la variable d’environnement CGI Notez que la politique d'accès par défaut
+ La politique d'accès par défaut
dans les sections puis d'affiner la configuration pour les répertoires que vous
+ puis d'affiner la configuration pour les répertoires que vous
voulez rendre accessibles. Voir la page Conseils à propos de sécurité
- pour plus de détails. Les sections Les balises Les balises A partir de la version 2.4.8, les groupes nommés et les
@@ -1475,6 +1524,21 @@ ErrorDocument 403 Forbidden!
ErrorDocument 403 /errors/forbidden.py?referrer=%{escape:%{HTTP_REFERER}}
+ Quand l’argument est une chaîne de texte (c’est-à-dire ni un chemin, ni
+ un URL), il est envoyé au client avec De plus, on peut spécifier la valeur spéciale Il peut arriver que certains items de la chaîne de format ne
+ 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
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). Certains items de format acceptent des paramètres supplémentaires
+ Certains spécificateurs de format acceptent des paramètres supplémentaires
entre accolades. Cette directive permet de modifier les règles qui s'appliquent à la ligne
- de requête HTTP (RFC 7230
- §3.1.1) et aux champs des en-têtes des requêtes HTTP (RFC 7230
- §3.2), qui s'appliquent maintenant par défaut ou en utilisant
- l'option 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. RFC 7230 §9.4
- Request Splitting et §9.5 Response
- Smuggling ne rappellent que deux des risques potentiels induits par des
- requêtes non conformes, alors que RFC 7230
- §3.5 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 Il est fortement déconseillé aux utilisateurs d'utiliser le mode
@@ -2292,15 +2355,14 @@ Apache
La section de la RFC 7231
- §4.1 "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
- La section "Overview" de la RFC 7231 "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 L'option
@@ -2320,13 +2382,12 @@ Apache
La section de la RFC 2616
- §19.6 "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 RFC 7230 Appendix
- A. A ce titre, l'option La section "Compatibility With Previous Versions" de la RFC 2616 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 RFC 7230
+ Appendix A. A ce titre, l'option Les directives L'URL peut contenir des caractères génériques. Dans une chaîne
avec caractères génériques, Bien que le serveur suive les liens symboliques, il ne modifie
+ Quand le serveur suit les liens symboliques, il ne modifie
pas le nom de chemin concerné défini par la section
Désactiver cette option empêche aussi Les options Spécifier des protocoles non disponibles ou désactivés n'aura
aucun effet, et ceux-ci seront simplement ignorés. Le protocole Si un serveur virtuel ne possède pas de directive Protocols
propre, il hérite des protocoles spécifiés pour le serveur
@@ -4866,8 +4947,10 @@ s'authentifier lui-même
serveur virtuel, lorsqu'elle est utilisée dans un contexte de serveurs virtuels à base de noms. Cette directive est aussi utilisée lors de la création d'URLs de
- redirection relatives quand la directive Par exemple, si le nom de la
machine hébergeant le serveur web est
@@ -4931,6 +5014,12 @@ s'authentifier lui-même
Les adresses IPv6 ne sont actuellement pas prises
+ en charge par la directive La directive 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
+ Comme Comme
Autres
Comparaison avec SSLRequire
Historique de versionVoir aussi
+If<If><ElseIf><Else>ErrorDocumentAliasScriptAliasRedirectAuthBasicFakeAuthFormLoginRequiredLocationAuthFormLoginSuccessLocationAuthFormLogoutLocationAuthNameAuthTypeRewriteCondSetEnvIfExprHeaderRequestHeaderFilterProviderSSLRequireLogMessagemod_includeVoir aussi
If<If><ElseIf><Else>ErrorDocumentAliasScriptAliasRedirectAuthBasicFakeAuthFormLoginRequiredLocationAuthFormLoginSuccessLocationAuthFormLogoutLocationAuthNameAuthTypeRewriteCondSetEnvIfExprHeaderRequestHeaderFilterProviderSSLRequireLogMessagemod_includeSyntaxe en Forme de Backus-Naur ¶
@@ -143,6 +141,10 @@ listfunction ::= listfuncname "(" word ")"%{REMOTE_USER} ne sera pas encore définie à ce stade.
+ SetEnv, SetEnvIf, le drapeau [E=...]
+ de mod_rewrite's et d’autres directives), voir Variables d’environnement dans Apache httpd.req permet d'extraire les valeurs des autres
@@ -171,7 +173,10 @@ listfunction ::= listfuncname "(" word ")"REQUEST_SCHEMELe protocole associé à l'URI de la requête
+
- REQUEST_URILa partie chemin de l'URI de la requête 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.
DOCUMENT_URIIdem REQUEST_URI
comme
@@ -530,6 +535,11 @@ listfunction ::= listfuncname "(" word ")"
+ REQUEST_FILENAMEreqenv permet de tester les variables d’environnement à utilisation spéciale
+ (telles que no-gzip, nokeepalive, etc.), ainsi que
+ toute variable définie à l’aide de SetEnv,
+ SetEnvIf ou mod_rewrite.req ou http 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
diff --git a/docs/manual/expr.xml.meta b/docs/manual/expr.xml.meta
index ea324a8bb2..d5a2e5e1a5 100644
--- a/docs/manual/expr.xml.meta
+++ b/docs/manual/expr.xml.meta
@@ -8,6 +8,6 @@
<Directory>, <DirectoryMatch>, <Files> ou <FilesMatch> dans les fichiers de configuration
+ principaux, ou dans un fichier .htaccess. Dans un contexte de
+ répertoire, les directives ne s’appliquent qu’au répertoire (ou à l’ensemble
+ de fichiers) auquel elles sont associées.
Voir Sections de configuration
+
Voir la FAQ SSL
- et la RFC 3546
+ et la RFC 3546
@@ -369,14 +375,12 @@ Interface commune avec les programmes externes
(Common Gateway Interface)
(CGI)
- Voir : Contenu dynamique avec CGI
+ programme externe pour permettre à ce dernier de traiter des requêtes. Il
+ existe une RFC informationnelle (RFC 3875) qui en couvre les
+ spécificités.
Voir : Contenu dynamique avec
+ CGI
apxs
+
<Limit> au sein d’une section <Location> peut outrepasser
+ silencieusement les restrictions d’accès d’une section <Directory>.Require sont
traitées comme si elles étaient contenues dans une directive
@@ -597,7 +598,7 @@ autorisation ¶
Compatibilité ascendante du contrôle
d'accès
Order, Allow, Deny et Satisfy. Cependant, et à
des fins de compatibilité ascendante vers les anciennes
configurations, ces directives ont été déplacées vers le module
diff --git a/docs/manual/howto/cgi.html.fr.utf8 b/docs/manual/howto/cgi.html.fr.utf8
index d3f79f8203..0346968c83 100644
--- a/docs/manual/howto/cgi.html.fr.utf8
+++ b/docs/manual/howto/cgi.html.fr.utf8
@@ -29,8 +29,6 @@
ja |
ko
Introduction
Configurer httpd pour autoriser CGIapachectl -V, et regardez le chemin indiqué par
- SUEXEC_BIN. Si au démarrage de httpd, ce dernier
+ SUEXEC_BIN. Si au démarrage d'httpd, ce dernier
trouve un exécutable suexec dans ce chemin,
suexec sera activé.CGIC de https://web.mit.edu/wwwdev/www/cgic.html.CGIC de https://web.mit.edu/wwwdev/www/cgic.html.
Pour plus d'informations ¶
- .htaccess fournissent une méthode pour
-modifier la configuration du serveur au niveau de chaque répertoire.
Fichiers .htaccess
Que sont ce fichiers, comment les utiliser ?Fichiers .htaccess ¶
-
- Modules Apparentés Directives Apparentées .htaccess ne doivent être utilisés
- que si vous n'avez pas accès au fichier de configuration du serveur
- principal. L'utilisation des fichiers .htaccess
- 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 .htaccess dans une section Directory, car elles produiront le
- même effet avec de meilleures performances.
+
Modules Apparentés Directives Apparentées Que sont ce fichiers, comment les utiliser ? ¶
@@ -84,17 +77,23 @@ Includes - SSI)
.htaccess utilisent la même
+ .htaccess utilisent la même
syntaxe que les fichiers de
configuration principaux. Ce que vous pouvez mettre dans ces
- fichier est déterminé par la directive AllowOverride. Cette directive spécifie,
+ fichier est déterminé par les directives AllowOverride et AllowOverrideList. La directive AllowOverride spécifie,
sous forme de catégories, quelles directives seront traitées si
- elles se trouvent dans un fichier .htaccess. Si une
- directive est permise dans un fichier .htaccess file,
+ elles se trouvent dans un fichier .htaccess, alors que la
+ directive AllowOverrideList nomme individuellement les
+ directives permises (voir ci-après). Si une
+ directive est permise dans un fichier .htaccess,
la documentation de cette directive contiendra une section Override,
- spécifiant quelle valeur doit prendre AllowOverride pour que cette directive
+ spécifiant quelle valeur doit prendre la directive AllowOverride pour que cette directive
soit traitée.AllowOverride est None. Cela signifie
+ que les fichiers .htaccess seront complètement ignorés, à moins
+ que vous ne les autorisiez explicitement pour un répertoire.AddDefaultCharset, vous verrez
que cette dernière est permise dans les fichiers
@@ -104,67 +103,37 @@ Includes - SSI)
AllowOverride FileInfo pour que cette directive soit
traitée dans les fichiers .htaccess.Exemple :
-
-
-
- Contexte :
- configuration du serveur, serveur virtuel, directory, .htaccess
-
-
- Override:
- FileInfo
- .htaccess, lisez la documentation de
- cette directive, et consultez la ligne de contexte pour
- ".htaccess".Quand doit-on (ne doit-on pas) utiliser
les fichiers .htaccess ? ¶
- .htaccess 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 .htaccess est très
- répandue. Il est aussi souvent avancé, ces dernières
- années, que les directives de mod_rewrite doivent
- être définies dans les fichiers .htaccess. 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
- mod_rewrite fonctionneront mieux, à de nombreux égards,
- dans le contexte du serveur principal..htaccess 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 .htaccess. 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..htaccess. Tout élément de
- configuration que vous pourriez vouloir mettre dans un fichier
- .htaccess, peut aussi être mis, et avec la même
- efficacité, dans une section <Directory> du fichier de configuration de
- votre serveur principal..htaccess..htaccess. Cela concerne l’authentification de
+ l’utilisateur, les règles de mod_rewrite et tout ce que
+ vous seriez tenté de mettre dans un fichier .htaccess. 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, mod_rewrite fonctionne mieux dans un contexte
+ de configuration globale du serveur..htaccess 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 .htaccess 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 .htaccess..htaccess : la performance et la sécurité.AllowOverride est définie de
façon à autoriser l'utilisation des fichiers .htaccess,
httpd va rechercher leur présence dans chaque répertoire. Ainsi,
@@ -183,12 +152,11 @@ Includes - SSI)
/www/htdocs/exemple, httpd doit rechercher les
fichiers suivants :
- /.htaccess
- /www/.htaccess
- /www/htdocs/.htaccess
- /www/htdocs/exemple/.htaccess
- /.htaccess
+/www/.htaccess
+/www/htdocs/.htaccess
+/www/htdocs/example/.htaccess
+
/, ce qui est rarement le
cas..htaccess est liée à la sécurité. Si vous permettez aux
+ .htaccess mais voulez
+ n’autoriser que l’utilisation de directives spécifiques au lieu de
+ catégories entières de directives, utilisez la directive AllowOverrideList. 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 AllowOverride seule :# N’autoriser que des directives spécifiques, pas des catégories entières de
+# directives
+AllowOverride None
+AllowOverrideList Redirect RedirectMatch RewriteEngine RewriteRule RewriteCond
+
+
+ .htaccess. C’est un bon compromis entre possibilité et
+ impossibilité totales d’outrepasser la configuration globale..htaccess contenant une
directive dans un répertoire /www/htdocs/exemple
revient exactement au même que mettre la même directive dans une
@@ -227,16 +211,10 @@ Includes - SSI)
Section de votre fichier
httpd.conf<Directory "/www/htdocs/example">
- AddType text/example .exm
+ AddType text/example ".exm"
</Directory>
.htaccess..htaccess peut être
entièrement désactivée en définissant la directive AllowOverride à none :Exemple d'authentification ¶
- .htaccess 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 <Directory> du fichier de configuration de
- votre serveur principal, et les fichiers .htaccess ne
- devraient être utilisés que dans le cas où vous n'avez pas accès au
- fichier de configuration du serveur principal. Voir ci-dessus pour savoir dans quels cas vous devez ou
- ne devez pas utiliser les fichiers .htaccess..htaccess, vous pouvez utiliser la
- configuration suivante :.htaccess, placer
+ ces directives dans une section <Directory> est préférable si vous avez accès au
+ fichier de configuration principal (voir ci-avant).
+ L’exemple suivant montre l’approche .htaccess :.htaccess :Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI) ¶
- .htaccess 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 .htaccess enregistré dans le
- répertoire considéré :.htaccess 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 .htaccess enregistré dans le répertoire considéré :Options +Includes
-AddType text/html shtml
+AddType text/html "shtml"
AddHandler server-parsed shtml
@@ -401,21 +367,32 @@ la chaîne /images/ disparaît de cette même valeur
remplacement. Il doit donc en être de même dans votre expression
rationnelle.
+.htaccess, 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.mod_rewrite.mod_rewrite.
Exemple de CGI ¶
- .htaccess pour permettre l'exécution des programmes CGI
- dans un répertoire particulier. Pour y parvenir, vous pouvez
- utiliser la configuration suivante :mod_proxy_fcgi 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..htaccess pour autoriser
+ l’exécution de programmes CGI dans un répertoire particulier. Pour y
+ parvenir, vous pouvez utiliser la configuration suivante :Options +ExecCGI
-AddHandler cgi-script cgi pl
+AddHandler cgi-script "cgi" "py"
.htaccess ne produisent pas l'effet désiré.AllowOverride
- ne permet pas l'activation des directives de votre fichier
- .htaccess. Vérifiez si une directive
- AllowOverride None 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 .htaccess
- et de recharger la page. Si aucune erreur n'est générée par le
+ AllowOverride ne permet pas
+ l'activation des directives de votre fichier .htaccess.
+ Vérifiez si une directive AllowOverride None 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 .htaccess et de recharger la
+ page :TestMe
+
+
+ AllowOverride None affecte votre répertoire..htaccess n'est pas
permise.
-
- [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
-[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
+
+
.htaccess, soit
que vous n'avez tout simplement pas défini la directive
@@ -473,9 +454,8 @@ SetHandler cgi-script
- [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
- [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
+
mod_http2 ; il permet au client de définir pour
chaque requête quels genres de PUSHes il accepte.Link 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 RFC 8297.H2EarlyHints on
diff --git a/docs/manual/index.html.fr.utf8 b/docs/manual/index.html.fr.utf8
index 30893fd8b5..9acf8cddb0 100644
--- a/docs/manual/index.html.fr.utf8
+++ b/docs/manual/index.html.fr.utf8
@@ -39,8 +39,6 @@
tr |
zh-cn
-
diff --git a/docs/manual/mod/core.html.fr.utf8 b/docs/manual/mod/core.html.fr.utf8
index 5d7cdcd496..e707c028bf 100644
--- a/docs/manual/mod/core.html.fr.utf8
+++ b/docs/manual/mod/core.html.fr.utf8
@@ -271,7 +271,7 @@ nom de chemin en fin de requête.Notes de version
sudo yum install httpd
-sudo systemctl enable httpd
-sudo systemctl start httpd
+ sudo dnf install httpd
+# Démarrage du service
+sudo systemctl start httpd
-
+
+
+ dnf au lieu de yum. Voir la documentation du
- projet Fedora pour des informations spécifiques à cette plateforme.sudo apt install apache2
-sudo service apache2 start
+sudo apt install apache2
+
+# Démarrage du service
+sudo systemctl start apache2
+# Arrêt du service
+sudo systemctl stop apache2
-
+
+
+
Téléchargement
- Téléchargez la dernière version depuis http://httpd.apache.org/download.cgi
-
+ Téléchargez la dernière version depuis https://httpd.apache.org/download.cgi
+
Extraction
-
+ $ gzip -d httpd-NN.tar.gz
- $ tar xvf httpd-NN.tar
- $ cd httpd-NN$ tar xzf httpd-NN.tar.gz
+$ cd httpd-NN
+
@@ -162,7 +174,7 @@ sudo service apache2 start
followed by a comma-separated list, without spaces, of options that
may be set using the Prérequis ¶
-
/racine_sources_httpd/srclib/apr et
/racine_sources_httpd/srclib/apr-util (les noms des répertoires ne
doivent pas comporter de numéros de versions ; par exemple, la
@@ -191,7 +204,7 @@ sudo service apache2 start
PATH doit contenir
les outils de construction de base tels que make.ntpdate ou xntpd, basés sur le protocole NTP,
- sont couramment utilisés à cet effet.
- Voir la page d'accueil de NTP
- pour plus de détails à propos du logiciel NTP et des serveurs
+ systemd-timesyncd ou
+ chrony. Voir la page d'accueil
+ de NTP pour plus de détails à propos du logiciel NTP et des serveurs
de temps publics.apxs ou dbmmanage
- (qui sont écrits en Perl).
- Si le script configure ne trouve pas d'interpréteur
- Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
- Bien entendu, vous pourrez tout de même construire et utiliser
- Apache httpd.apxs ou dbmmanage (qui
+ sont écrits en Perl). Si le script configure ne trouve
+ pas d'interpréteur Perl 5, vous ne pourrez pas utiliser les scripts qui en
+ ont besoin. Bien entendu, vous pourrez tout de même construire et
+ utiliser Apache httpd.Téléchargement ¶
- INSTALL.bindist inclus dans la distribution.Extraction ¶
- $ gzip -d httpd-NN.tar.gz
-$ tar xvf httpd-NN.tar
+$ tar xzf httpd-NN.tar.gz
./configure.
+ pour toutes les options, saisissez ./configure.
Pour modifier les valeurs des options, configure
accepte toute une variété de variables et
d'options de ligne de commande.--disable-module. Faites très attention
en utilisant ces options, car configure n'est pas en
- mesure de vous avertir si le module que vous avez spécifié n'existe pas;
- il ignorera tout simplement l'option.
+ mesure de vous avertir si le module que vous avez spécifié n'existe pas ;
+ il ignorera l'option.
configure des informations supplémentaires sur
@@ -355,7 +356,7 @@ $ tar xvf httpd-NN.tar
Construction ¶
$ makePREFIX/docs/manual/ ou
- http://httpd.apache.org/docs/2.4/ pour la version la plus
+ https://httpd.apache.org/docs/2.4/ pour la version la plus
récente de ce manuel et la liste complète des directives de configuration disponibles.Mise à jour ¶
CHANGES
- dans la distribution des sources afin de déceler toutes les modifications
- qui pourraient affecter votre site. Lors d'un changement majeur de version
- (par exemple de 2.0 à 2.2 ou de 2.2 à 2.4),
- il y aura certainement des différences importantes quant à la
- configuration de la compilation et de l'exécution qui nécessiteront des
- ajustements manuels. Tous les
- modules devront aussi être mis à jour pour qu'ils s'adaptent aux
- changements de l'API des modules.CHANGES dans la
+ distribution des sources afin de déceler toutes les modifications qui
+ pourraient affecter votre site. Lors d'un changement majeur de version (par
+ exemple de 2.4 à 2.6), il y aura certainement des différences importantes
+ quant à la configuration de la compilation et de l'exécution qui
+ nécessiteront des ajustements manuels. Tous les modules devront aussi être
+ mis à jour pour qu'ils s'adaptent aux changements de l'API des modules.
make install
+ 2.4.66 à 2.4.67) est plus aisée. Le processus make install
n'écrasera aucun de vos documents existants, fichiers de log,
ou fichiers de configuration. De plus, les développeurs font tout
leur possible pour éviter les changements entraînant une
@@ -476,10 +475,10 @@ $ PREFIX/bin/apachectl -k start
Paquets tiers ¶
- lingering_close devient une absolue nécessité (et les
-
+
connexions en pipeline sont plus rapides ; vous avez donc tout
intérêt à les supporter).
-
- Notice
-
HTTP Recommendations
HTML RecommendationsHTTP Recommendations ¶
+HTTP ¶
+
- URIs ¶
-
+
+
+ TLS/SSL ¶
+
+ mod_ssl is
+ enabled:
+
SSLStaplingCache).HTML Recommendations ¶
+Authentication ¶
-
-
- Content Negotiation and Compression ¶
-
+
+
+ mod_brotli.Proxying and Forwarding ¶
- mod_proxy is enabled:
+
Authentication ¶
+WebSocket ¶
-
+
+
+ mod_proxy_wstunnel.CGI ¶
+
+ WebDAV ¶
+
+ mod_dav is enabled:
+
Language/Country Codes ¶
-
-
@@ -61,19 +59,19 @@
Recommandations HTTP ¶
-
-
-
Codes de langues et de
+
Codes de langages et de
pays ¶
CGI sans alias de script
CGI avec alias de script
Autres sources de contenu dynamique
Sécurité des contenus dynamiques
Protection de la configuration du système
Protection par défaut des fichiers du serveur
Surveillez vos journauxSécurité des contenus dynamiques ¶
+
+
+
+ mod_php, mod_perl, mod_python
+ 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.
+
+
+ Protection de la configuration du système ¶
@@ -398,7 +424,7 @@
Location et
Directory ; par exemple, si une
- directive <Directory ""/> interdit un accès, une
+ directive <Directory "/"> interdit un accès, une
directive <Location "/"> pourra passer outre.
- grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log
- grep "client denied" error_log | tail -n 10
-
- [Thu Jul 11 17:18:39 2002] [error] [client foo.example.com] client denied
- by server configuration: /usr/local/apache/htdocs/.htpasswd
- grep -c "\.\.\/" access_log
+grep "client denied" error_log | tail -n 10
- .htpasswd, vous devriez avoir quelque chose du style :
- 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
.env, vous auriez vu une réponse 200 dans votre
+ fichier Access Log — ce qui aurait
+ signifié que la configuration de votre serveur devait être plus restrictive.
+ Assurez-vous d’interdire l’accès aux fichiers sensibles :<Files ".ht*">
+
<FilesMatch "^\.(?!well-known)">
Require all denied
-</Files>
+</FilesMatch>Options directive.
- Implicit disabling of Options
- Options 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 set while allowing any others to be set.
- Implicit disabling of Options
+ .htaccess file may enable. It does not
+ prevent inherited options from being disabled.Options directive
+ in .htaccess uses absolute syntax (without
+ + or - prefixes), it replaces
+ the entire inherited option set. Any previously active options
+ not listed are implicitly turned off—even options that are
+ not in the AllowOverride permitted list.Options Indexes FollowSymLinks ExecCGI
+AllowOverride Options=Indexes
+
+ .htaccess file contains:Options Indexes
+
+ FollowSymLinks and ExecCGI are
+ implicitly disabled for that directory, even though the
+ AllowOverride line only permits setting
+ Indexes.AllowOverride Options=Indexes,MultiViews
@@ -1697,26 +1717,28 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
The current time
-%{u}tThe current time including micro-seconds
+%{cu}t
+
+ %{m}tThe current time including milliseconds
-%{cu}tThe current time in ISO 8601 extended format (compact), including
micro-seconds
+%{cuz}t
-%{cuz}tThe 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
+%{%-format}t
-%{%-format}tThe current time formatted per the strftime(3) function.
Available since 2.4.58 only
+%v
-%vThe canonical ServerName
of the current server.
+%V
-%VThe server name of the server serving the request according to the
UseCanonicalName
setting.
+\ (backslash space)
-\ (backslash space)Non-field delimiting space
+% (percent space)% (percent space)Field delimiter (no output) /test/here.html/more dans l'exemple ci-dessus
renverra une erreur "404 NOT FOUND".
- OnOn/test/here.html/more, la requête
sera acceptée si /test/here.html correspond à un nom de
@@ -313,27 +313,38 @@ nom de chemin en fin de requête.
Statut: Noyau httpd
- Module: core AccessFileName .acl
-
-
- /usr/local/web/index.html, le serveur va rechercher les
- fichiers /.acl, /usr/.acl,
- /usr/local/.acl et /usr/local/web/.acl
- pour y lire d'éventuelles directives, à moins quelles n'aient été
- désactivées avecAllowOverride est activée pour le répertoire
+ considéré.AccessFileName dans
+ tous les répertoires du chemin du document, si les fichiers de configuration
+ distribués sont autorisés pour ce répertoire.
+ Par exemple, avant de renvoyer le document
+ /usr/local/web/index.html, le serveur va rechercher des
+ directives dans les fichiers /.htaccess, /usr/.htaccess,
+ /usr/local/.htaccess et /usr/local/web/.htaccess.<Directory "/">
AllowOverride None
</Directory>
+ DocumentRoot. Voir aussi la note à ce
+ sujet dans la documentation de la directive AllowOverride.Voir aussi
AllowOverride.htaccess
-Syntaxe: AllowOverride All|None|type directive
[type directive] ...
+Défaut: AllowOverride None à partir de la version 2.3.9, AllowOverride
-All pour les versions antérieuresDéfaut: AllowOverride NoneContexte: répertoire Statut: Noyau httpd
- Module: core .htaccess (dont
- le nom est défini par la directive AccessFileName), il doit savoir lesquelles
- des directives placées dans ce fichier sont autorisées à modifier la
- configuration préexistante..htaccess — configurable à l’aide de la directive
+ AccessFileName), il doit savoir
+ lesquelles des directives placées dans ce fichier sont autorisées à modifier
+ la configuration préexistante.Valable seulement dans les sections
<Directory>
@@ -518,8 +529,11 @@ All pour les versions antérieures
Allow, Deny et Order).Allow,
+ Deny et Order). Pour un équivalent moderne,
+ voir la directive Require
+ contrôlée par AuthConfig.
Description: Directives autorisées dans les fichiers .htaccess
+[directive] ...
Syntaxe: AllowOverrideList None|directive
-[directive-type] ...Défaut: AllowOverrideList NoneContexte: répertoire
@@ -655,8 +669,14 @@ AllowOverrideList CookieTracking CookieName
Statut: Noyau httpd 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.FileInfo. Le jeu de directives permises effectif est
+ l’union des deux. Toutes les autres provoqueront une erreur interne du
+ serveur.
+
+ .htaccess, pourvu que le mécanisme d’outrepassement soit activé
+ (c’est-à-dire que la directive AllowOverride ne soit pas définie à
+ None). Ces directives sont listées dans la section All de l’index de la classe override.Voir aussi
@@ -738,20 +758,42 @@ Apache
Compatibilité: Disponible à partir de la version 2.4.21 du serveur HTTP Apache REQUEST_URI.
+
+ REQUEST_URI
+ contient l’URI original de la requête du client. Cela implique que même si
+ mod_rewrite 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é.CGIVar REQUEST_URI current-uri, la valeur est définie à
+ l’URI actuel après l’application de toute réécriture ou redirection interne.
+ original-uri (valeur par défaut)REQUEST_URI avec l’URI de la requête originale du
+ client, sans tenir compte d’une réécriture ou redirection interne
+ quelconque.current-uriREQUEST_URI 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.# Montrer aux scripts CGI l’URI réécrit à la place de l’original
+CGIVar REQUEST_URI current-uri
+
+
+ Note
+ REQUEST_URI
+ contient l’URI complet, y compris la chaîne de paramètres. Cela est différent
+ pour la variable de serveur %{REQUEST_URI} utilisée dans
+ mod_rewrite et les expressions de ap_expr, qui ne contient que la partie chemin (pas la
+ chaîne de paramètres).Directive ContentDigest ¶
@@ -1034,20 +1076,22 @@ sous-répertoires, et à leur contenu.
et la section <Directory>
correspondante s'appliquera.
- <Directory "/"> 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<Directory "/">
Require all denied
</Directory>
- <Directory> se situent
dans le fichier httpd.conf. Les directives <Directory> ne peuvent pas être imbriquées
@@ -1072,11 +1116,16 @@ du système de fichiers correspondant à une expression rationnelle<
Statut: Noyau httpd
- Module: core <DirectoryMatch>
- et </DirectoryMatch> 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 <Directory>. Cependant, le
- répertoire est précisé sous la forme d'une expression rationnelle. Par exemple :<DirectoryMatch> et
+ </DirectoryMatch> 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’expression rationnelle spécifiée. À la différence de
+ <Directory>, 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 ^
+ ou $ dans le motif. Par exemple :<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
# ...
@@ -1095,10 +1144,10 @@ du système de fichiers correspondant à une expression rationnelle<
slash de fin
- 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 $, vous devrez
+ peut-être comparer les deux formes ; par exemple, <DirectoryMatch
+ "^/var/www/?$">.
text/html 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 :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>"
+
+
default
pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
dur. Bien que non nécessaire dans des circonstances normales, la
@@ -1626,15 +1690,15 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
connexion ou d'une requête ne génère aucun message dans le journal,
alors aucune information additionnelle n'est enregistrée.%a du format [%t] [%l] [%a] %M n'est
pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
@@ -1654,8 +1718,9 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
- %4{Referer}iN'enregistre le contenu de l'en-tête
+ la sévérité du message de journalisation est 4 (avertissement) ou supérieure
+ (niveaux 1 à 4 : alerte, critique, erreur, avertissement).
Referer que si
- la sévérité du message de journalisation est supérieure à 4.
@@ -2231,11 +2297,10 @@ clients
Apache
Chaîne de format Description Strict. L'option Unsafe
- a été ajoutée pour pouvoir restaurer les anciens
+ de requête HTTP (RFC 7230) et aux champs des en-têtes
+ des requêtes HTTP (RFC 7230), qui s'appliquent
+ maintenant par défaut ou en utilisant l'option Strict. L'option
+ Unsafe 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.Strict.Strict.
Risques de sécurité liés au mode Unsafe
LenientMethods est utilisée, mais les administrateurs ont la
- possibilité de limiter les méthodes utilisées via l'option
- RegisteredMethods en enregistrant toute méthode non standard
- via la directive RegisterHttpMethod, en particulier
- si l'option Unsafe est utilisée.LenientMethods est utilisée, mais les
+ administrateurs ont la possibilité de limiter les méthodes utilisées via
+ l'option RegisteredMethods en enregistrant toute méthode non
+ standard via la directive RegisterHttpMethod, en
+ particulier si l'option Unsafe est utilisée.Compatibilité avec le mandat direct
Require1.0 permet à l'utilisateur
- d'inhiber le comportement induit par l'option par défaut
+ Require1.0 permet à
+ l'utilisateur d'inhiber le comportement induit par l'option par défaut
Allow0.9.Exemple de requête provoquant l'envoi d'un message HTTP 400 en
@@ -2898,7 +2959,11 @@ certaines méthodes HTTP
<LimitExcept> doit toujours être préférée à
une section <Limit> pour la
restriction d'accès, car une section <LimitExcept> fournit une protection contre
- les méthodes arbitraires.<Limit> au sein d’une section
+ <Location> peut
+ outrepasser silencieusement les directives d’une section <Directory>.<Limit> et
<LimitExcept>
@@ -3290,9 +3355,14 @@ spécifiées
URL est un chemin d'URL de la forme
/chemin/. Aucun protocole, nom d'hôte, port, ou chaîne
de requête ne doivent apparaître. 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 direct
+ (forward) (configuré via ProxyRequests), l'URL
+ à comparer doit être de la forme
protocole://nom_serveur/chemin, et vous devez inclure
- le préfixe.ProxyPass ou RewriteRule ... [P]), la requête arrive en
+ tant que chemin d’URL local ; il faut donc utiliser /chemin/,
+ comme vous le feriez pour la requête originale.
? correspond à un caractère
@@ -4156,9 +4226,13 @@ particulier
Le serveur va suivre les liens symboliques dans le répertoire
concerné. Il s'agit de la valeur par défaut.
<Directory>.mod_rewrite
+ d’agir dans un contexte de répertoire (fichiers .htaccess et
+ sections <Directory>.FollowSymLinks et
SymLinksIfOwnerMatch ne fonctionnent que dans les
@@ -4370,6 +4444,13 @@ seulement depuis la version 2.3.3 sous Windows.
Note
http/1.1 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
+ ProtocolsHonorOrder.UseCanonicalName est définie à une valeur autre
- que la valeur par défaut.UseCanonicalName est définie à
+ On. Si UseCanonicalName est définie à
+ DNS, une recherche DNS inverse est effectuée
ServerName et produisent
+ une erreur au démarrage du serveur, même si elles sont entourées de
+ crochets. Il s’agit d’un problème connu.Voir aussi
@@ -4954,10 +5043,22 @@ de nom accédé par un navigateur incompatible
Module: core ServerPath permet de définir
- le nom de chemin d'URL hérité d'un hôte, à utiliser avec les serveurs virtuels à base de nom.Host:. Lorsqu’un tel client soumet un URL correspondant à la
+ valeur de la directive ServerPath 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 Host:, ce qui rend
+ cette directive inutile.Voir aussi
+
@@ -5171,14 +5272,18 @@ gestionnaire particulier
None.
Note
- SetHandler 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é.SetHandler 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
+ FallbackResource, car un
+ gestionnaire est déjà explicitement assigné à la requête.
+ Voir aussi
Les directives <Limit>
+ ou <LimitExcept> ne
+ permettent pas de restreindre la méthode TRACE. Pour ce faire,
+ utilisez la directive TraceEnable.
Bien que certains prétendent le contraire, activer la méthode
TRACE ne constitue pas un problème de sécurité dans Apache
diff --git a/docs/manual/mod/core.xml.de b/docs/manual/mod/core.xml.de
index a8cd699bb0..b182565de8 100644
--- a/docs/manual/mod/core.xml.de
+++ b/docs/manual/mod/core.xml.de
@@ -1,7 +1,7 @@
-
+
+
+
diff --git a/docs/manual/mod/core.xml.ja b/docs/manual/mod/core.xml.ja
index c01ecf51c5..2a397211c7 100644
--- a/docs/manual/mod/core.xml.ja
+++ b/docs/manual/mod/core.xml.ja
@@ -1,7 +1,7 @@
-
+
+
-
+
+
diff --git a/docs/manual/sections.html.fr.utf8 b/docs/manual/sections.html.fr.utf8
index 5a363e699c..ae8a539cc7 100644
--- a/docs/manual/sections.html.fr.utf8
+++ b/docs/manual/sections.html.fr.utf8
@@ -29,8 +29,6 @@
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 @@ -65,11 +63,10 @@ s'appliqueront à toutes les requêtes. Si leurs conditions ne sont p directives qu'ils contiennent seront ignorées.
Le conteneur <IfDefine>
-contient des directives qui ne seront appliquées que si un paramètre
-approprié a été défini dans la ligne de commande de httpd.
-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 httpd. 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 :
httpd -DClosedForNow :
<IfDefine ClosedForNow> @@ -114,7 +111,7 @@ et configurations de httpd.@@ -213,16 +210,32 @@ toute requête commençant par la chaîne de caractères <
<IfDefine>,<IfModule>et<IfVersion>-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.Le conteneur
-<Location>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 modulemod_status. Il n'est pas nécessaire de trouver un fichier nomméserver-statusdans le système de fichiers.<Location "/server-status"> +# 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>+Étant donné que la section
+<Location>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.Espace web imbriqué
Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre @@ -468,21 +481,31 @@ sont interprétées.
évaluées mais selon l'ordre dans lequel elles apparaissent dans le fichier de configuration.
<Directory> (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, <Directory "/var/web/dir"> sera
traitée avant <Directory
"/var/web/dir/subdir">.<Directory> s'appliquent au même
- répertoire, elles sont traitées selon l'ordre dans lequel elles
- apparaissent dans le fichier de configuration.Include sont traitées comme si elles se
+ <Directory> 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
+ <DirectoryMatch>,
+ <Files>, <FilesMatch>, <Location> ou <LocationMatch> ciblent à la même
+ ressource.Include sont traitées comme si elles se
trouvaient réellement dans le fichier qui les inclut à la position de la
directive
Include.<VirtualHost>
sont appliquées après 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.<serveur virtuel> est sélectionné pour une requête
+ — les directives de plusieurs serveurs virtuels correspondants ne sont
+ jamais fusionnées. Voir Correspondance des
+ serveurs virtuels pour des détails à propos de la manière dont les
+ serveurs virtuels sont sélectionnés.
mod_proxy,
le conteneur <Proxy>
prend la place du conteneur <Directory> dans l'ordre de traitement.<If> est utilisée dans un fichier .htaccess, les
- directives incluses dans un répertoire parent seront fusionnées
- après les directives non-incluses dans un sous-répertoire.
+ directives incluses dans un "directory" parent seront fusionnées
+ après les directives non-incluses dans un "directory" enfant.
Utiliser la directive <Limit> au sein d’une section <Location> 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 <Limit>, la section <Location> 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 <Directory> qui, autrement, aurait dû s’appliquer.
+ C’est pourquoi il est préférable d’utiliser la directive <LimitExcept> ou de définir les
+ autorisations sans restriction sur les méthodes.
Cette page contient la liste des éléments actuellement disponibles de la Documentation du serveur HTTP Apache Version diff --git a/docs/manual/style/version.ent b/docs/manual/style/version.ent index 2f99602532..bd4feb6a98 100644 --- a/docs/manual/style/version.ent +++ b/docs/manual/style/version.ent @@ -19,6 +19,6 @@ - + diff --git a/docs/manual/urlmapping.html.fr.utf8 b/docs/manual/urlmapping.html.fr.utf8 index 0455612379..5e176203ea 100644 --- a/docs/manual/urlmapping.html.fr.utf8 +++ b/docs/manual/urlmapping.html.fr.utf8 @@ -29,8 +29,6 @@ ko | tr
-Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une requête pour déterminer le noeud du système de fichier à partir duquel le @@ -58,15 +56,12 @@ URLs
La méthode par défaut de httpd pour déterminer quel fichier servir pour
- une requête donnée, consiste à extraire le chemin du fichier de la requête
- (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
- à la fin de la valeur de la directive
- DocumentRoot définie dans vos fichiers
- de configuration.
- Ainsi, les fichiers et répertoires
- situés en dessous de DocumentRoot
- constituent l'arborescence de base des documents qui seront visibles
- depuis le web.
DocumentRoot
+ définie dans vos fichiers de configuration. Ainsi, les fichiers et
+ répertoires situés en dessous de DocumentRoot constituent l'arborescence de base
+ des documents qui seront visibles depuis le web.
Par exemple, si la directive
DocumentRoot contient
diff --git a/docs/manual/urlmapping.xml.meta b/docs/manual/urlmapping.xml.meta
index 02fc1a16aa..9fd5f4bb52 100644
--- a/docs/manual/urlmapping.xml.meta
+++ b/docs/manual/urlmapping.xml.meta
@@ -8,7 +8,7 @@
Ce document vise à expliquer dans le détail comment le serveur @@ -177,20 +175,39 @@ dynamiquement
À la réception d'une requête, le serveur procède comme suit pour - déterminer quel serveur virtuel utiliser :
- -Lors d'une première connexion sur une adresse/port, le serveur
- recherche toutes les directives VirtualHost qui
- possèdent la même adresse IP/port.
S'il n'y a aucune correspondance exacte pour cette adresse/port,
- la recherche s'effectue sur la valeur générique (*).
Si aucune correspondance n'est enfin trouvée, la requête sera - servie par le serveur principal.
+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.
+ +Lorsqu’une connexion est établie, le serveur recherche l’adresse IP et le
+ port de destination dans sa liste d’adresses/ports des serveurs
+ virtuels. Cette recherche respecte un ordre de priorité strict :
| Priorité | Type de correspondance | Exemple |
|---|---|---|
| 1 | Adresse IP et port exacts | +<VirtualHost 10.0.0.1:80> |
| 2 | Adresse IP exacte, port générique | +<VirtualHost 10.0.0.1:*> |
| 3 | Adresse IP générique (*), port exact |
+ <VirtualHost *:80> |
| 4 | Adresse IP et port génériques | +<VirtualHost *:*> |
| 5 | Serveur principal | +(aucun serveur virtuel ne correspond) |
Le serveur utilise la première correspondance trouvée 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 ServerName
+ qui correspond au contenu de l’en-tête Host 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.
S'il existe des définitions VirtualHost pour
l'adresse IP, l'étape suivante consiste à déterminer si nous avons à
@@ -200,20 +217,19 @@ dynamiquement
Si une seule section VirtualHost 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.
Si la Phase 1 ne trouve qu’un seul serveur virtuel
+ correspondant, la requête est servie directement depuis ce dernier sans
+ effectuer d’autre recherche.
Si plusieurs sections VirtualHost 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.
Si la phase 1 trouve plusieurs serveurs virtuels
+ 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
+ Host: de la requête (ou le nom d’hôte SNI pour les connexions
+ SSL).
Si la connexion utilise SSL, si le serveur supporte l'Indication de nom de serveur, et si la négociation du client SSL inclut l'extension TLS dans le @@ -225,30 +241,42 @@ dynamiquement serveur virtuel qui détermine quel certificat le serveur va utiliser pour la connexion.
-Si la requête contient un en-tête Host:, on
- recherche dans la liste le premier serveur virtuel dont le
- ServerName ou le ServerAlias correspond,
- et c'est celui-ci qui va traiter la requête. Un en-tête
- Host: 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.
La recherche de serveurs virtuels correspondants s’effectue selon leur + ordre d’apparition dans le fichier de configuration :
-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 Host: (comme les requêtes HTTP/1.0).
ServerName et ServerAlias de chaque serveur virtuel sont
+ comparés au nom d’hôte de la requête. La première correspondance est
+ retenue.ServerName ou ServerAlias ne
+ correspond, c’est le premier serveur virtuel de la liste qui sera
+ choisi. Il s’agit du serveur virtuel à base de nom par défaut pour
+ cette combinaison adresse/port.Un champ d’en-tête Host: 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.
Si la requête ne possède pas d’en-tête Host: (comme les
+ requêtes HTTP/1.0), le premier serveur virtuel qui correspond est choisi.
+ Mais si une directive ServerPath 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 ServerPath pour
+ les détails.
La recherche par adresse IP décrite ci-avant n'est faite - qu'une fois pour chaque session TCP/IP, alors que la - recherche par nom est réalisée pour chaque 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.
+La recherche par adresse IP (Phase 1) n'est effectuée qu'une + fois pour une session TCP/IP particulière, alors que la recherche par + nom (Phase 2) est effectuée pour chaque 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.
@@ -267,20 +295,19 @@ dynamiquement*" 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.ServerName et
- ServerAlias ne sont jamais
- réalisées pour les serveurs virtuels par IP.ServerAlias 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).