From: Rich Bowen Si un script est dédié à la gestion d'une condition d'erreur
- spécifique, telle que Notez que si la réponse contient un en-tête
Cette page pourrait se résumer ainsi : configurez le
- serveur HTTP Apache de façon
- à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les
- fichiers de configuration. Si httpd doit effectuer des résolutions
- DNS pour interpréter les fichiers de configuration, votre serveur
- pourra présenter des problèmes de fiabilité (en d'autres termes,
- il est possible qu'il refuse de démarrer), ou d'attaques par déni ou
- usurpation de service (y compris l'attribution de requêtes à un
+ Cette page pourrait se résumer ainsi : configurez le
+ serveur HTTP Apache de façon
+ à ce qu'il n'ait pas besoin de résolution DNS pour interpréter les
+ fichiers de configuration. Si httpd doit effectuer des résolutions
+ DNS pour interpréter les fichiers de configuration, votre serveur
+ pourra présenter des problèmes de fiabilité (en d'autres termes,
+ il est possible qu'il refuse de démarrer), ou d'attaques par déni ou
+ usurpation de service (y compris l'attribution de requêtes à un
serveur virtuel autre que le serveur virtuel voulu). Pour fonctionner correctement, le serveur a absolument besoin de deux
- informations à propos de chaque serveur virtuel : le nom du serveur
- défini par la directive Content-Length válido.
@@ -233,7 +233,7 @@ Body:----------sv--
-->
- En förfrågan med
+ En förfrågan med
metoden kräver ett korrekt Content-Length huvud.
diff --git a/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
index fa97ee5183..28521fdb5a 100644
--- a/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
+++ b/docs/error/HTTP_METHOD_NOT_ALLOWED.html.var
@@ -156,11 +156,11 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
O método
- não é permitido para a URL requisitada.
+ não é permitido para a URL requisitada.
-------pt-br--
@@ -168,10 +168,10 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- O método não
+ O método não
é permitido para o URL pedido.
@@ -219,11 +219,11 @@ Content-language: sv
Content-type: text/html; charset=UTF-8
Body:----------sv--
- metoden är inte tillåten för den förfrågade
+ metoden är inte tillåten för den förfrågade
adressen.
diff --git a/docs/error/HTTP_NOT_FOUND.html.var b/docs/error/HTTP_NOT_FOUND.html.var
index fc796f7bb4..8766a82a7e 100644
--- a/docs/error/HTTP_NOT_FOUND.html.var
+++ b/docs/error/HTTP_NOT_FOUND.html.var
@@ -323,10 +323,10 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
- A URL requisitada não foi encontrada neste servidor.
+ A URL requisitada não foi encontrada neste servidor.
@@ -349,10 +349,10 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- O método não
+ O método não
é permitido para o URL pedido.
@@ -445,11 +445,11 @@ Body:----------sv--
-->
- Den efterfrågade adressen hittades inte på denna server.
+ Den efterfrågade adressen hittades inte på denna server.
- Länken på den
+ Länken på den
">tidigare sidan
verkar vara felaktig eller inaktuell. Vänligen informera författaren av
">sidan
@@ -457,7 +457,7 @@ Body:----------sv--
- Om du skrev in adressen manuellt så kontrollera din stavning och
+ Om du skrev in adressen manuellt så kontrollera din stavning och
försök igen.
diff --git a/docs/error/HTTP_NOT_IMPLEMENTED.html.var b/docs/error/HTTP_NOT_IMPLEMENTED.html.var
index b46f3fc943..0ca2548fc7 100644
--- a/docs/error/HTTP_NOT_IMPLEMENTED.html.var
+++ b/docs/error/HTTP_NOT_IMPLEMENTED.html.var
@@ -75,7 +75,7 @@ Content-language: it
Content-type: text/html; charset=UTF-8
Body:----------it--
Il server non supporta il tipo di azione richiesta dal browser.
@@ -148,10 +148,10 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
- O servidor não suporta a ação requisitada pelo
+ O servidor não suporta a ação requisitada pelo
seu "browser".
@@ -160,10 +160,10 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- O servidor não suporta a acção pedida pelo
+ O servidor não suporta a acção pedida pelo
browser.
diff --git a/docs/error/HTTP_PRECONDITION_FAILED.html.var b/docs/error/HTTP_PRECONDITION_FAILED.html.var
index 23cb553c83..3ad15da456 100644
--- a/docs/error/HTTP_PRECONDITION_FAILED.html.var
+++ b/docs/error/HTTP_PRECONDITION_FAILED.html.var
@@ -150,11 +150,11 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
- A condição necessária para a
- requisição da URL foi avaliada como falsa.
+ A condição necessária para a
+ requisição da URL foi avaliada como falsa.
-------pt-br--
@@ -162,10 +162,10 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- A condição necessária ao pedido do URL
+ A condição necessária ao pedido do URL
foi avaliada com resultado negativo.
@@ -214,7 +214,7 @@ Body:----------sv--
-->
Den nödvändiga förutsättningen för
- adressförfrågan passerade inte utvärderingen
+ adressförfrågan passerade inte utvärderingen
med acceptabelt resultat.
diff --git a/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
index 4038cd5b4f..25eae82536 100644
--- a/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
+++ b/docs/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
@@ -171,7 +171,7 @@ Body:-------pt-br--
-->
O método
- não permite a transmissão dos dados,
+ não permite a transmissão dos dados,
ou o volume de dados excede a capacidade limite.
@@ -184,7 +184,7 @@ Body:----------pt--
-->
O método
- não permite todos os dados que foram transmitidos,
+ não permite todos os dados que foram transmitidos,
ou o volume de dados excede o limite da capacidade.
@@ -234,12 +234,12 @@ Content-language: sv
Content-type: text/html; charset=UTF-8
Body:----------sv--
- metoden tillåter
- inte den skickade datan eller så överskrider datavolymen
- kapacitetsnivån.
+ metoden tillåter
+ inte den skickade datan eller så överskrider datavolymen
+ kapacitetsnivån.
----------sv--
diff --git a/docs/error/HTTP_REQUEST_TIME_OUT.html.var b/docs/error/HTTP_REQUEST_TIME_OUT.html.var
index 5fcfab3b04..58b2cf067c 100644
--- a/docs/error/HTTP_REQUEST_TIME_OUT.html.var
+++ b/docs/error/HTTP_REQUEST_TIME_OUT.html.var
@@ -124,7 +124,7 @@ Body:----------nl--
-->
De server heeft de netwerkverbinding gesloten omdat de browser
- de vraag niet heeft beëindigd binnen een gestelde tijd.
+ de vraag niet heeft beëindigd binnen een gestelde tijd.
----------nl--
@@ -162,8 +162,8 @@ Body:-------pt-br--
-->
- O servidor encerrou a conexão porque o "browser"
- não finalizou a requisição dentro
+ O servidor encerrou a conexão porque o "browser"
+ não finalizou a requisição dentro
do tempo limite.
@@ -175,8 +175,8 @@ Body:----------pt--
- O servidor interrompeu a ligação de rede porque o
- browser não terminou o pedido dentro do tempo limite.
+ O servidor interrompeu a ligação de rede porque o
+ browser não terminou o pedido dentro do tempo limite.
----------pt--
@@ -227,7 +227,7 @@ Body:----------sv--
-->
Servern stängde förbindelsen därför att
- webbläsaren inte avslutade förfrågan inom
+ webbläsaren inte avslutade förfrågan inom
förbestämd tid.
diff --git a/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
index 1a669f8600..c54cfe96bd 100644
--- a/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
+++ b/docs/error/HTTP_REQUEST_URI_TOO_LARGE.html.var
@@ -85,7 +85,7 @@ Body:----------it--
La lunghezza dell'indirizzo (URL) trasmesso supera il
limite massimo imposto da questo server.
- La richiesta non può essere soddisfatta.
+ La richiesta non può essere soddisfatta.
----------it--
@@ -163,7 +163,7 @@ Body:-------pt-br--
-->
O tamanho do endereço (URL) excede a capacidade limite
- desse servidor. A requisição não pode ser
+ desse servidor. A requisição não pode ser
processada.
@@ -176,7 +176,7 @@ Body:----------pt--
-->
O tamanho do URL pedido excede o limite da capacidade deste
- servidor. O pedido não pode ser processado.
+ servidor. O pedido não pode ser processado.
----------pt--
@@ -223,11 +223,11 @@ Content-language: sv
Content-type: text/html; charset=UTF-8
Body:----------sv--
- Längden på adressen som efterfrågas överskrider
- kapacitetsgränsen för denna server. Förfrågan kan
+ Längden på adressen som efterfrågas överskrider
+ kapacitetsgränsen för denna server. Förfrågan kan
inte verkställas.
diff --git a/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
index 7d2d5f6c6d..40028159e4 100644
--- a/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
+++ b/docs/error/HTTP_SERVICE_UNAVAILABLE.html.var
@@ -172,7 +172,7 @@ Body:-------pt-br--
-->
O servidor está temporariamente fora de serviço
- para manutanção ou devido a problemas de capacidade.
+ para manutanção ou devido a problemas de capacidade.
Por favor tente acessar mais tarde.
@@ -185,8 +185,8 @@ Body:----------pt--
-->
O servidor está temporáriamente incapaz de servir
- o seu pedido devido a uma interrupção para
- manutenção ou problemas de capacidade. Por favor
+ o seu pedido devido a uma interrupção para
+ manutenção ou problemas de capacidade. Por favor
tente de novo mais tarde.
@@ -240,7 +240,7 @@ Body:----------sv--
-->
Servern är för tillfället oförmögen att
- utföra din förfrågan på grund av underhåll
+ utföra din förfrågan på grund av underhåll
eller kapacitetsbegränsningar. Vänligen försök
igen senare.
diff --git a/docs/error/HTTP_UNAUTHORIZED.html.var b/docs/error/HTTP_UNAUTHORIZED.html.var
index 33e60cb328..db513ad9c4 100644
--- a/docs/error/HTTP_UNAUTHORIZED.html.var
+++ b/docs/error/HTTP_UNAUTHORIZED.html.var
@@ -135,7 +135,7 @@ Body:----------it--
-->
- Questo server non può verificare l'autorizzazione
+ Questo server non può verificare l'autorizzazione
all'accesso a "".
Questo errore potrebbe essere causato da credenziali errate
(nome utente o password errata) oppure da un browser che non
@@ -254,17 +254,17 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
- Este servidor não pode autorizar o seu acesso à URL
+ Este servidor não pode autorizar o seu acesso à URL
"".
Você deve ter fornecido dados incorretos (ex. senha errada), ou o seu
- "browser" não fornece as credenciais necessárias.
+ "browser" não fornece as credenciais necessárias.
- No caso de você realmente possuir permissão para este documento,
+ No caso de você realmente possuir permissão para este documento,
por favor checar seu login e sua senha e tentar novamente.
@@ -273,13 +273,13 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- Este servidor não conseguiu validar a sua autoridade para aceder
+ Este servidor não conseguiu validar a sua autoridade para aceder
ao URL "".
Ou forneceu as credenciais erradas (e.g.: senha incorrecta)
- ou o seu browser não sabe como fornecer as credenciais
+ ou o seu browser não sabe como fornecer as credenciais
necessárias.
@@ -356,14 +356,14 @@ Body:----------sv--
-->
- Servern kunde inte verifiera att du har tillåtelse att besöka
+ Servern kunde inte verifiera att du har tillåtelse att besöka
adressen "".
- Antingen angav du felaktiga uppgifter (ex. fel lösenord) eller så
+ Antingen angav du felaktiga uppgifter (ex. fel lösenord) eller så
stödjer inte din webbläsare detta autentiseringssätt.
- Om du har tillåtelse att besöka sidan, vänligen kontrollera ditt
+ Om du har tillåtelse att besöka sidan, vänligen kontrollera ditt
användarnamn samt lösenord och försök igen.
diff --git a/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
index a05b47b12f..217696293b 100644
--- a/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
+++ b/docs/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
@@ -148,11 +148,11 @@ Content-language: pt-br
Content-type: text/html; charset=UTF-8
Body:-------pt-br--
- O servidor não suporta o tipo de mÃdia
- transmitida nesta requisição.
+ O servidor não suporta o tipo de mÃdia
+ transmitida nesta requisição.
-------pt-br--
@@ -160,10 +160,10 @@ Body:-------pt-br--
Content-language: pt
Content-type: text/html; charset=ISO-8859-1
Body:----------pt--
-
- O servidor não suporta o media type transmitido no pedido.
+ O servidor não suporta o media type transmitido no pedido.
----------pt--
@@ -210,7 +210,7 @@ Body:----------sv--
-->
- Servern stödjer inte den mediatyp som skickats i förfrågan.
+ Servern stödjer inte den mediatyp som skickats i förfrågan.
----------sv--
diff --git a/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
index 2860a09c1b..a6b25dc395 100644
--- a/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
+++ b/docs/error/HTTP_VARIANT_ALSO_VARIES.html.var
@@ -166,9 +166,9 @@ Body:-------pt-br--
-->
- Uma variante da entidade de requisição
+ Uma variante da entidade de requisição
é por si mesma um recurso negociável.
- Acesso não é possÃvel.
+ Acesso não é possÃvel.
-------pt-br--
@@ -180,7 +180,7 @@ Body:----------pt--
-->
A variante relativa à entidade pedida é ela mesma
- um recurso negociável. Não é possÃvel
+ um recurso negociável. Não é possÃvel
ter acesso.
@@ -233,7 +233,7 @@ Body:----------sv--
-->
- En variant av den förfrågade enheten är i
+ En variant av den förfrågade enheten är i
sig själv en giltig resurs. Åtkomst är inte
möjlig.
diff --git a/docs/error/contact.html.var b/docs/error/contact.html.var
index 00f0cb3cac..06d2d9131b 100644
--- a/docs/error/contact.html.var
+++ b/docs/error/contact.html.var
@@ -128,7 +128,7 @@ Body:----------sr--
Content-language: sv
Content-type: text/html; charset=UTF-8
Body:----------sv--
-Om du tror att detta beror på ett serverfel, vänligen kontakta
+Om du tror att detta beror på ett serverfel, vänligen kontakta
">webbansvarig.
----------sv--
diff --git a/docs/manual/custom-error.xml.fr b/docs/manual/custom-error.xml.fr
index 1cc88c2468..7c14144264 100644
--- a/docs/manual/custom-error.xml.fr
+++ b/docs/manual/custom-error.xml.fr
@@ -163,14 +163,14 @@ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
404 Not Found, il
+ spécifique, telle que 404 Not Found, il
peut utiliser le code et le texte de l'erreur spécifiques à la
place.Location: (afin d'initier une redirection côté
client), le script doit émettre un en-tête approprié
- (comme 302 Found). Dans le cas contraire,
+ (comme 302Â Found). Dans le cas contraire,
l'en-tête Location: ne produira aucun effet.www.example.dom. Si pour
- une raison quelconque, le DNS n'est pas disponible au moment où
- votre serveur interprète son fichier de configuration, ce serveur
+ une raison quelconque, le DNS n'est pas disponible au moment où
+ votre serveur interprète son fichier de configuration, ce serveur
virtuel ne sera pas pris en compte dans la
configuration. Il sera incapable de
- répondre à toute requête pour ce serveur virtuel.
Supposons que l'adresse de www.example.dom soit
192.0.2.1, et examinons cet extrait de configuration :
Cette fois, httpd doit effectuer une recherche DNS inverse pour
trouver le nom ServerName de ce serveur virtuel. Si
- cette recherche inverse échoue, le serveur virtuel sera
- partiellement désactivé. Si le serveur
- virtuel est à base de nom, il sera en fait totalement désactivé,
- mais s'il est à base d'adresse IP, il fonctionnera probablement.
- Cependant, httpd échouera s'il doit générer une URL complète pour
+ cette recherche inverse échoue, le serveur virtuel sera
+ partiellement désactivé. Si le serveur
+ virtuel est à base de nom, il sera en fait totalement désactivé,
+ mais s'il est à base d'adresse IP, il fonctionnera probablement.
+ Cependant, httpd échouera s'il doit générer une URL complète pour
le serveur qui inclut ce nom de serveur (comme dans le cas d'une
redirection).
Voici un extrait de configuration qui permet d'éviter ces deux - types de problèmes :
+Voici un extrait de configuration qui permet d'éviter ces deux + types de problèmes :
Considérons cet extrait de configuration :
+Considérons cet extrait de configuration :
Supposons que vous ayez assigné 192.0.2.1 à
- www.example1.dom et 192.0.2.2 à www.example2.dom. En
- outre, supposons que example1.dom gère son propre DNS. Avec
+
Supposons que vous ayez assigné 192.0.2.1 Ã
+ www.example1.dom et 192.0.2.2 Ã www.example2.dom. En
+ outre, supposons que example1.dom gère son propre DNS. Avec
cette configuration, example1.dom sera en mesure de
- détourner tout trafic destiné à example2.dom. Pour y
- parvenir, tout ce qu'ils ont à faire consiste à
- assigner 192.0.2.2 à
- www.example1.dom. Comme ils gèrent leur propre DNS, vous ne
- pouvez pas les empêcher de faire pointer l'enregistrement
+ détourner tout trafic destiné à example2.dom. Pour y
+ parvenir, tout ce qu'ils ont à faire consiste Ã
+ assigner 192.0.2.2 Ã
+ www.example1.dom. Comme ils gèrent leur propre DNS, vous ne
+ pouvez pas les empêcher de faire pointer l'enregistrement
www.example1.dom vers l'adresse qu'ils veulent.
Les requêtes à destination de 192.0.2.2 (y compris toutes celles - où l'utilisateur à tapé une URL de la forme +
Les requêtes à destination de 192.0.2.2 (y compris toutes celles
+ où l'utilisateur à tapé une URL de la forme
http://www.example2.dom/quelquepart), seront toutes servies
par le serveur virtuel example1.dom. Une meilleur
- compréhension de la raison pour laquelle ceci peut se produire
- nécessite une discussion plus approfondie à propos de la manière
- dont httpd associe les requêtes entrantes aux différents serveurs
- virtuels qui vont les servir. Un document de base décrivant ceci est disponible.
Le support des
- serveurs virtuels à base de nom oblige httpd à
- connaître la/les adresse(s) IP de l'hôte sur
- lequel gethostname (qui
- doit renvoyer le même nom que la commande shell "hostname"). Il
+ module="core">ServerName globale (si elle est présente),
+ soit il fait appel à la fonction C gethostname (qui
+ doit renvoyer le même nom que la commande shell "hostname"). Il
effectue ensuite une recherche DNS sur cette adresse. Pour le
- moment, il n'existe aucun moyen d'éviter cette recherche DNS.
Si vous craignez que cette recherche DNS échoue parce que votre
- serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le
- fichier /etc/hosts (où il est probablement déjà
- enregistré afin que la machine démarre correctement). Assurez-vous
- ensuite que la machine est configurée pour utiliser
- /etc/hosts dans le cas où la recherche DNS échoue.
- Suivant le système d'exploitation que vous utilisez, vous y
- parviendrez en éditant /etc/resolv.conf, ou
+ moment, il n'existe aucun moyen d'éviter cette recherche DNS.
Si vous craignez que cette recherche DNS échoue parce que votre
+ serveur DNS est arrêté, vous pouvez insérer le nom d'hôte dans le
+ fichier /etc/hosts (où il est probablement déjÃ
+ enregistré afin que la machine démarre correctement). Assurez-vous
+ ensuite que la machine est configurée pour utiliser
+ /etc/hosts dans le cas où la recherche DNS échoue.
+ Suivant le système d'exploitation que vous utilisez, vous y
+ parviendrez en éditant /etc/resolv.conf, ou
/etc/nsswitch.conf.
Si votre serveur n'a aucune autre raison d'effectuer des
- recherches DNS, vous pouvez définir la variable d'environnement
- HOSTRESORDER à "local", et vous serez alors en mesure
- d'exécuter httpd. Tout dépend du système d'exploitation et des
- bibliothèques de résolution de noms que vous utilisez. Elle affecte
- aussi les programmes CGI, à moins que vous n'utilisiez
-
HOSTRESORDER Ã "local", et vous serez alors en mesure
+ d'exécuter httpd. Tout dépend du système d'exploitation et des
+ bibliothèques de résolution de noms que vous utilisez. Elle affecte
+ aussi les programmes CGI, Ã moins que vous n'utilisiez
+ <VirtualHost
- _default_:*> qui n'a aucune page à servir<VirtualHost
+ _default_:*> qui n'a aucune page à servirLa FAQ a été transférée vers le La FAQ a été transférée vers le Wiki du serveur HTTP.
Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).
+Ce document décrit l'utilisation des gestionnaires d'Apache (handlers).
Un "gestionnaire" est une représentation interne à Apache de l'action - qui doit être entreprise quand un fichier est appelé. En général, les - fichiers ont des gestionnaires implicites, basés sur le type du fichier. - Normalement, tous les fichiers sont traités simplement par le serveur, - mais certains types de fichiers sont "gérés" séparément.
+Un "gestionnaire" est une représentation interne à Apache de l'action + qui doit être entreprise quand un fichier est appelé. En général, les + fichiers ont des gestionnaires implicites, basés sur le type du fichier. + Normalement, tous les fichiers sont traités simplement par le serveur, + mais certains types de fichiers sont "gérés" séparément.
-Les gestionnaires peuvent aussi être configurés explicitement, +
Les gestionnaires peuvent aussi être configurés explicitement, soit en fonction des extensions des noms de fichier, soit en fonction du chemin du fichier, - sans faire référence au type de fichier. Ceci a le double avantage d'être - une solution plus élégante, et aussi d'autoriser à associer à la fois + sans faire référence au type de fichier. Ceci a le double avantage d'être + une solution plus élégante, et aussi d'autoriser à associer à la fois un type et un gestionnaire avec un fichier. (Voir aussi Fichiers avec extensions multiples.)
-Les gestionnaires peuvent être soit partie intégrante - du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive +
Les gestionnaires peuvent être soit partie intégrante
+ du serveur ou inclus dans un module, soit ajoutés à l'aide de la directive
default_handler(), qui est le gestionnaire utilisé par
- défaut pour traiter les contenus statiques. (core)default_handler(), qui est le gestionnaire utilisé par
+ défaut pour traiter les contenus statiques. (core)
- Les directives suivantes vont faire en sorte que les requêtes pour
- des fichiers possédant une extension html déclenchent
- l'exécution du script CGI footer.pl.
Les directives suivantes vont faire en sorte que les requêtes pour
+ des fichiers possédant une extension html déclenchent
+ l'exécution du script CGI footer.pl.
À ce moment-là, le script CGI se charge d'envoyer le document - initialement demandé (référencé par la variable d'environnement +
à ce moment-là , le script CGI se charge d'envoyer le document
+ initialement demandé (référencé par la variable d'environnement
PATH_TRANSLATED) et d'effectuer tous ajout ou modification
voulus.
Les directives suivantes vont activer le gestionnaire
- send-as-is, qui est utilisé pour les fichiers qui possèdent
- leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire
- /web/htdocs/asis/ seront traités par le gestionnaire
+ send-as-is, qui est utilisé pour les fichiers qui possèdent
+ leurs propres en-têtes HTTP. Tous les fichiers situés dans le répertoire
+ /web/htdocs/asis/ seront traités par le gestionnaire
send-as-is, sans tenir compte de l'extension
de leur nom de fichier.
Pour implémenter la fonctionnalité des gestionnaires, l' +
Pour implémenter la fonctionnalité des gestionnaires, l'
API Apache a fait l'objet d'un ajout
- que vous pourriez être amené à utiliser.
+ que vous pourriez être amené à utiliser.
- Plus précisément, un nouvel enregistrement a été ajouté à la structure
+ Plus précisément, un nouvel enregistrement a été ajouté à la structure
request_rec :
Si vous voulez que votre module déclenche l'utilisation d'un
- gestionnaire, il vous suffit de définir r->handler avec
- le nom du gestionnaire à n'importe quel moment avant l'étape
+
Si vous voulez que votre module déclenche l'utilisation d'un
+ gestionnaire, il vous suffit de définir r->handler avec
+ le nom du gestionnaire à n'importe quel moment avant l'étape
invoke_handler
- de la requête. Les gestionnaires sont implémentés comme auparavant,
- quoique l'on utilise le nom du gestionnaire à la place d'un type
+ de la requête. Les gestionnaires sont implémentés comme auparavant,
+ quoique l'on utilise le nom du gestionnaire à la place d'un type
de contenu. Bien que ce ne soit pas obligatoire, la convention de nommage
- des gestionnaires stipule l'utilisation d'un mot composé séparé par des
- tirets, sans slashes, afin de ne pas interférer avec l'espace de nommage
- des types de média.
| Drapeau | Sigle | Description | |
|---|---|---|---|
| Ok | Le serveur est disponible | ||
| Init | Le serveur a été initialisé | ||
| Â | Ok | Le serveur est disponible | |
|  | Init | Le serveur a été initialisé | |
D | Dis | Le serveur est désactivé et n'accepte aucune requête ; il sera retesté automatiquement. | |
S | Stop | Le serveur a été
diff --git a/docs/manual/invoking.xml.fr b/docs/manual/invoking.xml.fr
index 85d05ef0f1..dcc74378ac 100644
--- a/docs/manual/invoking.xml.fr
+++ b/docs/manual/invoking.xml.fr
@@ -24,122 +24,122 @@
Sous Windows, Apache est habituellement lancé en tant que
- service. Pour plus de détails, voir Démarrer Apache en tant
+ Sous Windows, Apache est habituellement lancé en tant que
+ service. Pour plus de détails, voir Démarrer Apache en tant
que service. Sous Unix, le programme Si la directive Il est recommandé d'utiliser le script de contrôle
- Il est recommandé d'utiliser le script de contrôle
+ La première chose qu'effectue httpd.conf. La localisation de ce fichier est définie à la
+ compilation, mais il est possible d'en spécifier une autre Ã
+ l'exécution en utilisant l'option de ligne de commande -f comme suit:
Si tout se passe bien pendant le démarrage, le serveur va se dissocier - du terminal et l'invite de commande réapparaîtra presque immédiatement. - Ceci indique que le serveur a démarré et est en cours d'exécution. - À partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter - au serveur et afficher la page de test située dans le répertoire défini + Si tout se passe bien pendant le démarrage, le serveur va se dissocier
+ du terminal et l'invite de commande réapparaîtra presque immédiatement.
+ Ceci indique que le serveur a démarré et est en cours d'exécution.
+ Ã partir de ce moment, vous pouvez utiliser votre navigateur pour vous connecter
+ au serveur et afficher la page de test située dans le répertoire défini
par la directive Si un problème fatal survient pendant le démarrage + Si un problème fatal survient pendant le démarrage
d'Apache, ce dernier va
- afficher un message décrivant le problème sur la console ou
- enregistrer ces informations dans le fichier défini par la directive
+ afficher un message décrivant le problème sur la console ou
+ enregistrer ces informations dans le fichier défini par la directive
Pour plus d'instructions de dépannage, consultez la + Pour plus d'instructions de dépannage, consultez la FAQ Apache. Si vous souhaitez que votre serveur soit automatiquement
- disponible après
- un redémarrage du système, vous devez ajouter un appel à
- Le script Le script Des informations supplémentaires à propos des options en ligne de + Des informations supplémentaires à propos des options en ligne de
commande de Notes à propos des formats de chiffrement des mots de passe - générés et reconnus par Apache. +Notes à propos des formats de chiffrement des mots de passe + générés et reconnus par Apache. Voici les cinq formats de mots de passe qu'Apache reconnaît + Voici les cinq formats de mots de passe qu'Apache reconnaît pour l'authentification de base. Notez que tous les formats ne sont - pas supportés par toutes les plates-formes : + pas supportés par toutes les plates-formes :
@@ -95,10 +95,10 @@ OpenSSL connaît l'algorithme MD5 spécifique à Apache. +OpenSSL connaît l'algorithme MD5 spécifique à Apache. @@ -114,9 +114,9 @@ La source d'entropie pour un mot de passe CRYPT est constituée
- des deux premiers caractères (convertis en valeur binaire). Pour
- valider La source d'entropie pour un mot de passe CRYPT est constituée
+ des deux premiers caractères (convertis en valeur binaire). Pour
+ valider Notez que spécifier Notez que spécifier La source d'entropie pour un mot de passe MD5 se situe entre
- $apr1$ et le caractère $ suivant (sous
+ la forme d'une valeur binaire codée en Base64 - au maximum 8
+ caractères). Pour valider Mon-Mot-de-passe par rapport
+ Ã $apr1$r31.....$HqJZimcKQFAMYayBlzkrA/
@@ -142,15 +142,15 @@ La variante SHA1 constitue probablement le format le mieux - approprié pour l'authentification DBD. Comme les fonctions SHA1 et - Base64 sont en général disponibles, d'autres logiciels peuvent - renseigner une base de données avec des mots de passe chiffrés + approprié pour l'authentification DBD. Comme les fonctions SHA1 et + Base64 sont en général disponibles, d'autres logiciels peuvent + renseigner une base de données avec des mots de passe chiffrés utilisables par l'authentification basique d'Apache. -Pour créer des mots de passe au format SHA1 pour + Pour créer des mots de passe au format SHA1 pour l'authentification de base d'Apache dans divers langages : Apache ne reconnaît qu'un format pour les mots de passe
- d'authentification à base de condensés - le condensé MD5 de la
- chaîne Apache ne reconnaît qu'un format pour les mots de passe
+ d'authentification à base de condensés - le condensé MD5 de la
+ chaîne Comme la fonction MD5 est en général disponible, d'autres
- logiciels peuvent renseigner une base de données avec des mots de
- passe chiffrés utilisables par l'authentification à base de
- condensés d'Apache. Comme la fonction MD5 est en général disponible, d'autres
+ logiciels peuvent renseigner une base de données avec des mots de
+ passe chiffrés utilisables par l'authentification à base de
+ condensés d'Apache. Pour créer des mots de passe pour l'authentification à base de
- condensés d'Apache dans divers langages : Pour créer des mots de passe pour l'authentification à base de
+ condensés d'Apache dans divers langages : Il est dit dans la documentation d'Apache 1.3
- à propos de l'amélioration des performances :
+ à propos de l'amélioration des performances :
- "Apache est un serveur web à vocation générale, conçu pour
- être non seulement efficace mais aussi rapide. Dans sa
- configuration de base, ses performances sont déjà
- relativement satisfaisantes. La plupart des sites possèdent
- une bande passante en sortie inférieure à 10 Mbits que le
- serveur Apache peut mettre pleinement à profit en utilisant un serveur à base
+ "Apache est un serveur web à vocation générale, conçu pour
+ être non seulement efficace mais aussi rapide. Dans sa
+ configuration de base, ses performances sont déjÃ
+ relativement satisfaisantes. La plupart des sites possèdent
+ une bande passante en sortie inférieure à 10 Mbits que le
+ serveur Apache peut mettre pleinement à profit en utilisant un serveur à base
de processeur Pentium bas de gamme." Cette phrase ayant été écrite il y a plusieurs années,
- entre temps de nombreuses choses ont changé. D'une part, les
+ Cette phrase ayant été écrite il y a plusieurs années,
+ entre temps de nombreuses choses ont changé. D'une part, les
serveurs sont devenus beaucoup plus rapides. D'autre part, de
- nombreux sites se voient maintenant allouée une bande passante
- en sortie bien supérieure à 10 Mbits. En outre, les applications
+ nombreux sites se voient maintenant allouée une bande passante
+ en sortie bien supérieure à 10 Mbits. En outre, les applications
web sont devenues beaucoup plus complexes. Les sites classiques
ne proposant que des pages du style brochure sont toujours
- présents, mais le web a souvent évolué vers une plateforme
- exécutant des traitements, et les webmasters peuvent maintenant
+ présents, mais le web a souvent évolué vers une plateforme
+ exécutant des traitements, et les webmasters peuvent maintenant
mettre en ligne des contenus dynamiques en Perl, PHP ou Java,
- qui exigent un niveau de performances bien supérieur.
+ qui exigent un niveau de performances bien supérieur.
C'est pourquoi en dépit des progrès en matière de bandes passantes
- allouées et de rapidité des serveurs, les performances
+ C'est pourquoi en dépit des progrès en matière de bandes passantes
+ allouées et de rapidité des serveurs, les performances
des serveurs web et des applications web sont toujours un sujet
- d'actualité. C'est dans ce cadre que cette documentation s'attache à
- présenter de nombreux points concernant les performances des
+ d'actualité. C'est dans ce cadre que cette documentation s'attache Ã
+ présenter de nombreux points concernant les performances des
serveurs web.
Ce document se concentre sur l'amélioration des performances
+ Ce document se concentre sur l'amélioration des performances
via des options facilement accessibles, ainsi que sur les outils
de monitoring. Les outils de monitoring vous permettront de
surveiller le fonctionnement de votre serveur web afin de
- rassembler des informations à propos de ses performances et des
- éventuels problèmes qui s'y rapportent. Nous supposerons
- que votre budget n'est pas illimité ; c'est pourquoi les
- améliorations apportées le seront sans modifier l'infrastructure
- matérielle existante. Vous ne souhaitez probablement pas
- compiler vous-même votre serveur Apache, ni recompiler le noyau
- de votre système d'exploitation ; nous supposerons cependant que
- vous possédez quelques notions à propos du fichier de
+ rassembler des informations à propos de ses performances et des
+ éventuels problèmes qui s'y rapportent. Nous supposerons
+ que votre budget n'est pas illimité ; c'est pourquoi les
+ améliorations apportées le seront sans modifier l'infrastructure
+ matérielle existante. Vous ne souhaitez probablement pas
+ compiler vous-même votre serveur Apache, ni recompiler le noyau
+ de votre système d'exploitation ; nous supposerons cependant que
+ vous possédez quelques notions à propos du fichier de
configuration du serveur HTTP Apache.
Si vous envisagez de redimensionner ou d'améliorer les performances
- de votre serveur, vous devez tout d'abord observer la manière dont il
- fonctionne. En observant son fonctionnement en conditions réelles ou
- sous une charge créée artificiellement, vous serez en mesure
+ Si vous envisagez de redimensionner ou d'améliorer les performances
+ de votre serveur, vous devez tout d'abord observer la manière dont il
+ fonctionne. En observant son fonctionnement en conditions réelles ou
+ sous une charge créée artificiellement, vous serez en mesure
d'extrapoler son fonctionnement sous une charge accrue, par exemple dans
- le cas où il serait mentionné sur Slashdot. L'outil top est fourni avec Linux et FreeBSD. Solaris
- quant à lui, fournit Top est un merveilleux outil, même s'il est + Top est un merveilleux outil, même s'il est relativement gourmand en ressources (lorsqu'il - s'exécute, son propre processus se trouve en général + s'exécute, son propre processus se trouve en général dans le top dix des consommations CPU). Il est - indispensable pour déterminer la taille d'un processus - en cours d'exécution, information précieuse lorsque vous - voudrez déterminer combien de processus httpd vous - pourrez exécuter sur votre machine. La méthode pour - effectuer ce calcul est décrite ici : calculer MaxClients. Top - est cependant un outil interactif, et l'exécuter de - manière continu présente peu ou pas d'avantage. + est cependant un outil interactif, et l'exécuter de + manière continu présente peu ou pas d'avantage. Cette commande n'est disponible que sous Linux. Elle - indique la mémoire vive et l'espace de swap utilisés. - Linux alloue la mémoire inutilisée en tant que cache du - système de fichiers. La commande free montre - l'utilisation de la mémoire avec et sans ce cache. On - peut utiliser la commande free pour déterminer la - quantité de mémoire utilisée par le système, comme - décrit dans le paragraphe calculer MaxClients. - L'affichage de la sortie de la commande free ressemble à + L'affichage de la sortie de la commande free ressemble à ceci : @@ -197,17 +197,17 @@ Swap: 3903784 12540 3891244Cette commande est disponible sur de nombreuses
plateformes de style Unix. Elle affiche un grand nombre
- de données système. Lancée sans argument, elle affiche
- une ligne d'état pour l'instant actuel. Lorsqu'on lui
- ajoute un chiffre, la ligne d'état actuelle est ajoutée à
- intervalles réguliers à l'affichage existant.
+ de données système. Lancée sans argument, elle affiche
+ une ligne d'état pour l'instant actuel. Lorsqu'on lui
+ ajoute un chiffre, la ligne d'état actuelle est ajoutée Ã
+ intervalles réguliers à l'affichage existant.
Par exemple, la commande
- Et voici cette même sortie pour un serveur en charge - de cent connexions simultanées pour du contenu statique : + Et voici cette même sortie pour un serveur en charge + de cent connexions simultanées pour du contenu statique :
@@ -239,41 +239,41 @@ Swap: 3903784 12540 3891244
11 0 0 0 162780 6864 40436 0 0 0 61 6309 1165 33 28 40
La première ligne indique des valeurs moyennes depuis - le dernier redémarrage. Les lignes suivantes donnent des - informations d'état à intervalles de 5 secondes. Le - second argument demande à vmstat de générer 3 lignes - d'état, puis de s'arrêter. + La première ligne indique des valeurs moyennes depuis + le dernier redémarrage. Les lignes suivantes donnent des + informations d'état à intervalles de 5 secondes. Le + second argument demande à vmstat de générer 3 lignes + d'état, puis de s'arrêter. La boîte à outils SE est une solution de supervision - pour Solaris. Son langage de programmation est basé sur - le préprocesseur C et est fourni avec de nombreux + La boîte à outils SE est une solution de supervision + pour Solaris. Son langage de programmation est basé sur + le préprocesseur C et est fourni avec de nombreux exemples de scripts. Les informations fournies - peuvent être exploitées en mode console ou en mode - graphique. Cette boîte à outils peut aussi être programmée pour - appliquer des règles aux données système. Avec l'exemple + peuvent être exploitées en mode console ou en mode + graphique. Cette boîte à outils peut aussi être programmée pour + appliquer des règles aux données système. Avec l'exemple de script de la Figure 2, Zoom.se, des voyants verts, oranges ou rouges s'allument lorsque certaines valeurs - du système dépassent un seuil spécifié. Un autre script + du système dépassent un seuil spécifié. Un autre script fourni, Virtual Adrian, permet d'affiner les performances en tenant compte de ces valeurs. -Depuis sa création, de nombreux propriétaires se sont - succédés à la tête de la boîte à outils SE, et elle a de - ce fait largement évolué. Il semble qu'elle ait - maintenant trouvé sa place chez Sunfreeware.com d'où - elle peut être téléchargée gratuitement. Il n'y a qu'un + Depuis sa création, de nombreux propriétaires se sont + succédés à la tête de la boîte à outils SE, et elle a de + ce fait largement évolué. Il semble qu'elle ait + maintenant trouvé sa place chez Sunfreeware.com d'où + elle peut être téléchargée gratuitement. Il n'y a qu'un seul paquet pour Solaris 8, 9 et 10 sur SPARC et x86, et - il inclut le code source. Le concepteur de la boîte à - outils SE, Richard Pettit, a fondé une nouvelle sociéte, + il inclut le code source. Le concepteur de la boîte à + outils SE, Richard Pettit, a fondé une nouvelle sociéte, Captive Metrics4, et a l'intention de mettre sur le - marché un outil de supervision multiplateforme en Java basé sur - les mêmes principes que la boîte à outils SE. + marché un outil de supervision multiplateforme en Java basé sur + les mêmes principes que la boîte à outils SE. @@ -281,8 +281,8 @@ Swap: 3903784 12540 3891244Etant donné que DTrace est disponible sous Solaris, - FreeBSD et OS X, il serait intéressant de l'étudier. Il + Etant donné que DTrace est disponible sous Solaris, + FreeBSD et OS X, il serait intéressant de l'étudier. Il y a aussi le module mod_dtrace pour httpd. @@ -291,20 +291,20 @@ Swap: 3903784 12540 3891244Le module mod_status donne un aperçu des performances - du serveur à un instant donné. Il génère une page HTML + Le module mod_status donne un aperçu des performances
+ du serveur à un instant donné. Il génère une page HTML
comportant, entre autres, le nombre de processus Apache
- en cours d'exécution avec la quantité de données qu'ils
+ en cours d'exécution avec la quantité de données qu'ils
ont servies, ainsi que la charge CPU induite par httpd
- et le reste du système. L'Apache Software Foundation
- utilise elle-même Le moyen le plus efficace pour vérifier la bonne santé et - le niveau de performance de votre serveur consiste à - surveiller et analyser les journaux écrits par httpd. La + Le moyen le plus efficace pour vérifier la bonne santé et + le niveau de performance de votre serveur consiste à + surveiller et analyser les journaux écrits par httpd. La surveillance du journal des erreurs vous permet de - déterminer les sources d'erreurs, de détecter des attaques - ou des problèmes de performance. L'analyse du journal des - accès vous indique le niveau de charge de votre serveur, + déterminer les sources d'erreurs, de détecter des attaques + ou des problèmes de performance. L'analyse du journal des + accès vous indique le niveau de charge de votre serveur, quelles sont les ressources les plus populaires, ainsi que la provenance de vos utilisateurs. Une analyse historique des - données de journalisation peut vous fournir des informations - précieuses quant aux tendances d'utilisation de votre - serveur au cours du temps, ce qui vous permet de prévoir les - périodes où les besoins en performance risquent de dépasser - les capacités du serveur. + données de journalisation peut vous fournir des informations + précieuses quant aux tendances d'utilisation de votre + serveur au cours du temps, ce qui vous permet de prévoir les + périodes où les besoins en performance risquent de dépasser + les capacités du serveur. @@ -335,68 +335,68 @@ Swap: 3903784 12540 3891244Le journal des erreurs peut indiquer que le nombre maximum de processus actifs ou de fichiers ouverts - simultanément a été atteint. Le journal des erreurs - signele aussi le lancement de processus supplémentaires selon un - taux supérieur à la normale en réponse à + simultanément a été atteint. Le journal des erreurs + signele aussi le lancement de processus supplémentaires selon un + taux supérieur à la normale en réponse à une augmentation soudaine de la charge. Lorsque le - serveur démarre, le descripteur de fichier stderr est - redirigé vers le journal des erreurs, si bien que toute - erreur rencontrée par httpd après avoir ouvert ses - fichiers journaux apparaîtra dans ce journal. Consulter - fréquemment le journal des erreurs est donc une bonne + serveur démarre, le descripteur de fichier stderr est + redirigé vers le journal des erreurs, si bien que toute + erreur rencontrée par httpd après avoir ouvert ses + fichiers journaux apparaîtra dans ce journal. Consulter + fréquemment le journal des erreurs est donc une bonne habitude. Lorsque Apache httpd n'a pas encore ouvert ses
- fichiers journaux, tout message d'erreur sera envoyé
+ fichiers journaux, tout message d'erreur sera envoyé
vers la sortie d'erreur standard stderr. Si vous
- démarrez httpd manuellement, ces messages d'erreur
- apparaîtront sur votre terminal, et vous pourrez les
- utiliser directement pour résoudre les problèmes de
- votre serveur. Si httpd est lancé via un script de
- démarrage, la destination de ces messages d'erreur
- dépend de leur conception.
-
- Le journal des erreurs est configuré via les
+ Le journal des erreurs est configuré via les
directives de configuration Dans le cas d'un serveur accessible depuis Internet, - attendez-vous à voir de nombreuses tentatives + attendez-vous à voir de nombreuses tentatives d'exploitation et attaques de vers dans le journal des erreurs. La plupart d'entre elles ciblent des serveurs - autres qu'Apache, mais dans l'état actuel des choses, + autres qu'Apache, mais dans l'état actuel des choses, les scripts se contentent d'envoyer leurs attaques vers tout port ouvert, sans tenir compte du serveur web - effectivement en cours d'exécution ou du type - des applications installées. Vous pouvez bloquer ces + effectivement en cours d'exécution ou du type + des applications installées. Vous pouvez bloquer ces tentatives d'attaque en utilisant un pare-feu ou le module mod_security, - mais ceci dépasse la portée de cette discussion. + mais ceci dépasse la portée de cette discussion.
La directive emerg |
- Urgence - le système est inutilisable. +Urgence - le système est inutilisable. |
|
- Une action doit être entreprise - immédiatement. +Une action doit être entreprise + immédiatement. |
|||
|
- Evènement normal, mais important. +Evènement normal, mais important. |
|||
|
- Messages de débogage. +Messages de débogage. |
Le niveau de journalisation par défaut est warn. Un - serveur en production ne doit pas s'exécuter en mode - debug, mais augmenter le niveau de détail dans le - journal des erreurs peut s'avérer utile pour résoudre - certains problèmes. A partir de la +
Le niveau de journalisation par défaut est warn. Un
+ serveur en production ne doit pas s'exécuter en mode
+ debug, mais augmenter le niveau de détail dans le
+ journal des erreurs peut s'avérer utile pour résoudre
+ certains problèmes. A partir de la
version 2.3.8, la directive
Dans cet exemple, l'ensemble du serveur est en mode
debug, sauf le module
Apache httpd garde la trace de toutes les requêtes - qu'il reçoit dans son journal des accès. En plus de - l'heure et de la nature d'une requête, httpd peut +
Apache httpd garde la trace de toutes les requêtes
+ qu'il reçoit dans son journal des accès. En plus de
+ l'heure et de la nature d'une requête, httpd peut
enregistrer l'adresse IP du client, la date et l'heure
- de la requête, le résultat et quantité d'autres
- informations. Les différents formats de journaux sont
- documentés dans le manuel. Le fichier concerne par
- défaut le serveur principal, mais il peut être configuré
+ de la requête, le résultat et quantité d'autres
+ informations. Les différents formats de journaux sont
+ documentés dans le manuel. Le fichier concerne par
+ défaut le serveur principal, mais il peut être configuré
pour chaque serveur virtuel via les directives de
configuration
De nombreux programmes libres ou commerciaux - permettent d'analyser les journaux d'accès. Analog et + permettent d'analyser les journaux d'accès. Analog et Webalyser sont des programmes d'analyse libres parmi les plus populaires. L'analyse des journaux doit s'effectuer hors ligne afin de ne pas surcharger le serveur web avec le traitement des fichiers journaux. La plupart des programmes d'analyse des journaux sont compatibles avec le format de journal "Common". Voici une description des - différents champs présents dans une entrée du journal : + différents champs présents dans une entrée du journal :
@@ -556,19 +556,19 @@ Swap: 3903784 12540 3891244195.54.228.42
Adresse IP d'où provient la requête
+Adresse IP d'où provient la requête
Identité RFC 1413
+Identité RFC 1413
-
Identité de l'utilisateur distant renvoyée - par son démon identd
+Identité de l'utilisateur distant renvoyée + par son démon identd
[24/Mar/2007:23:05:11 -0400]
Date et heure de la requête
+Date et heure de la requête
Requête
+Requête
"GET /sander/feed/ HTTP/1.1"
La requête proprement dite
+La requête proprement dite
Code d'état
+Code d'état
200
Code d'état renvoyé avec la réponse
+Code d'état renvoyé avec la réponse
9747
Total des octets transférés sans les - en-têtes
+Total des octets transférés sans les + en-têtes
Il y a de nombreuses raisons pour mettre en oeuvre la - rotation des fichiers journaux. Même si pratiquement - plus aucun système d'exploitation n'impose une limite de + rotation des fichiers journaux. Même si pratiquement + plus aucun système d'exploitation n'impose une limite de taille pour les fichiers de deux GigaOctets, avec le temps, les fichiers journaux deviennent trop gros pour - pouvoir être traités. En outre, toute analyse de journal - ne doit pas être effectuée sur un fichier dans lequel le - serveur est en train d'écrire. Une rotation périodique + pouvoir être traités. En outre, toute analyse de journal + ne doit pas être effectuée sur un fichier dans lequel le + serveur est en train d'écrire. Une rotation périodique des fichiers journaux permet de faciliter leur analyse, - et de se faire une idée plus précise des habitudes + et de se faire une idée plus précise des habitudes d'utilisation.
-Sur les systèmes unix, vous pouvez simplement +
Sur les systèmes unix, vous pouvez simplement effectuer cette rotation en changeant le nom du fichier - journal via la commande mv. Le serveur continuera à - écrire dans le fichier ouvert même s'il a changé de nom. - Lorsque vous enverrez un signal de redémarrage + journal via la commande mv. Le serveur continuera à + écrire dans le fichier ouvert même s'il a changé de nom. + Lorsque vous enverrez un signal de redémarrage "Graceful" au serveur, il ouvrira un nouveau fichier - journal avec le nom configuré par défaut. Par exemple, - vous pouvez écrire un script de ce style pour cron : + journal avec le nom configuré par défaut. Par exemple, + vous pouvez écrire un script de ce style pour cron :
@@ -667,32 +667,32 @@ Swap: 3903784 12540 3891244Cette approche fonctionne aussi sous Windows, mais avec moins de souplesse. Alors que le processus httpd de - votre serveur sous Windows continuera à écrire dans le - fichier journal une fois ce dernier renommé, le service - Windows qui exécute Apache n'est pas en mesure - d'effectuer un redémarrage graceful. Sous Windows, le - redémarrage d'un service consiste simplement à l'arrêter - et à le démarrer à nouveau, alors qu'avec un redémarrage + votre serveur sous Windows continuera à écrire dans le + fichier journal une fois ce dernier renommé, le service + Windows qui exécute Apache n'est pas en mesure + d'effectuer un redémarrage graceful. Sous Windows, le + redémarrage d'un service consiste simplement à l'arrêter + et à le démarrer à nouveau, alors qu'avec un redémarrage graceful, les processus enfants terminent - le traitement des requêtes en cours avant de s'arrêter, - et le serveur httpd est alors immédiatement à - nouveau disponible pour traiter les nouvelles requêtes. - Sous Windows, le processus d'arrêt/redémarrage du - service interrompt les traitements de requêtes en cours, - et le serveur demeure indisponible jusqu'à ce qu'il ait - terminé son redémarrage. Vous devez donc tenir compte de + le traitement des requêtes en cours avant de s'arrêter, + et le serveur httpd est alors immédiatement à + nouveau disponible pour traiter les nouvelles requêtes. + Sous Windows, le processus d'arrêt/redémarrage du + service interrompt les traitements de requêtes en cours, + et le serveur demeure indisponible jusqu'à ce qu'il ait + terminé son redémarrage. Vous devez donc tenir compte de toutes ces contraintes lorsque vous planifiez un - redémarrage. + redémarrage.
- Une seconde approche consiste à utiliser la
+ Une seconde approche consiste à utiliser la
redirection des logs. Les directives |) comme dans cet exemple :
Le programme cible de la redirection recevra alors les - données de journalisation d'Apache sur son entrée + données de journalisation d'Apache sur son entrée standard stdin, et pourra en faire ce qu'il voudra. Le programme rotatelogs fourni avec Apache effectue une - rotation des journaux de manière transparente en - fonction du temps ou de la quantité de données écrites, + rotation des journaux de manière transparente en + fonction du temps ou de la quantité de données écrites, et archive l'ancien fichier journal en ajoutant un - suffixe d'horodatage à son nom. Cependant, si cette - méthode fonctionne de manière satisfaisante sur les - plateformes de style unix, il n'en est pas de même sous + suffixe d'horodatage à son nom. Cependant, si cette + méthode fonctionne de manière satisfaisante sur les + plateformes de style unix, il n'en est pas de même sous Windows.
@@ -718,60 +718,60 @@ Swap: 3903784 12540 3891244L'écriture d'entrées dans les fichiers journaux est +
L'écriture d'entrées dans les fichiers journaux est consommatrice de ressources, mais l'importance de ces - données est telle qu'il est fortement déconseillé de - désactiver la journalisation. Pour optimiser les + données est telle qu'il est fortement déconseillé de + désactiver la journalisation. Pour optimiser les performances, vous devez enregistrer vos journaux sur un - disque physique différent de celui où se situe votre - site web car les modes d'accès sont très différents. La - lecture de données sur un disque possède un caractère - essentiellement aléatoire, alors que l'écriture dans les - fichiers journaux s'effectue de manière séquentielle. + disque physique différent de celui où se situe votre + site web car les modes d'accès sont très différents. La + lecture de données sur un disque possède un caractère + essentiellement aléatoire, alors que l'écriture dans les + fichiers journaux s'effectue de manière séquentielle.
- Ne définissez jamais la directive
Si votre serveur possède plus d'un serveur virtuel, - il est conseillé d'attribuer un journal des accès séparé à +
Si votre serveur possède plus d'un serveur virtuel,
+ il est conseillé d'attribuer un journal des accès séparé Ã
chacun d'entre eux, ce qui a pour effet de faciliter son
- exploitation ultérieure. Par contre, si votre serveur
- possède un grand nombre de serveurs virtuels, le nombre
- de fichiers journaux à ouvrir va représenter une
+ exploitation ultérieure. Par contre, si votre serveur
+ possède un grand nombre de serveurs virtuels, le nombre
+ de fichiers journaux à ouvrir va représenter une
consommation de ressources importante pour votre
- système, et il sera peut-être alors plus judicieux
- d'utiliser un seul fichier journal avec l'aménagement
- suivant : utiliser l'élément de format %v
- en tête de votre directive support/split-logfile.
Vous pouvez aussi utiliser la directive
Il est interessant de mettre en oeuvre une charge de test - afin d'évaluer les performances du système en conditions - réelles de fonctionnement. A cet effet, il existe des + afin d'évaluer les performances du système en conditions + réelles de fonctionnement. A cet effet, il existe des paquets commerciaux comme LoadRunner, mais - aussi de nombreux outils libres permettant de générer une + aussi de nombreux outils libres permettant de générer une charge de test pour votre serveur web.
Des projets externes à l'ASF et réputés +
Des projets externes à l'ASF et réputés relativement corrects : grinder, httperf, tsung, FunkLoad.
Lorsque vous appliquez une charge de test à votre serveur - web, gardez à l'esprit que si ce dernier est en production, - la charge de test peut en affecter négativement les - performances. En outre, le transfert de données - supplémentaires induit peut être comptabilisé dans le - quota mensuel qui vous a été éventuellement alloué. +
Lorsque vous appliquez une charge de test à votre serveur + web, gardez à l'esprit que si ce dernier est en production, + la charge de test peut en affecter négativement les + performances. En outre, le transfert de données + supplémentaires induit peut être comptabilisé dans le + quota mensuel qui vous a été éventuellement alloué.
@@ -838,46 +838,46 @@ Swap: 3903784 12540 3891244httpd version 2.2 est par défaut un serveur web avec des - processus enfants lancés au préalable. Au démarrage du +
httpd version 2.2 est par défaut un serveur web avec des
+ processus enfants lancés au préalable. Au démarrage du
serveur, le processus parent lance un certain nombre de
- processus enfants et ce sont eux qui seront chargés de traiter les
- requêtes. Mais avec httpd version 2.0 est apparu le concept
- de module multi-process (MPM). Les développeurs purent alors
- écrire des MPMs qui pouvaient fonctionner avec l'architecture
- à base de processus ou de threads de leur système
- d'exploitation spécifique. Apache 2 est fourni avec des MPMs
- spécifiques pour Windows, OS/2, Netware et BeOS. Pour les
+ processus enfants et ce sont eux qui seront chargés de traiter les
+ requêtes. Mais avec httpd version 2.0 est apparu le concept
+ de module multi-process (MPM). Les développeurs purent alors
+ écrire des MPMs qui pouvaient fonctionner avec l'architecture
+ à base de processus ou de threads de leur système
+ d'exploitation spécifique. Apache 2 est fourni avec des MPMs
+ spécifiques pour Windows, OS/2, Netware et BeOS. Pour les
plateformes de style unix, les deux MPMS les plus connus
- sont Prefork et Worker. Le MPM Prefork offre le même modèle
- de processus enfants prélancés que celui d'Apache 1.3. Le
- MPM Worker quant à lui, lance un nombre de processus enfants
- moins important, mais attribue à chacun d'entre eux un
- certain nombre de threads pour traiter les requêtes. Avec la
- version 2.4, le MPM n'est plus défini à la compilation,
- mais peut être chargé à l'exécution via la directive
+ sont Prefork et Worker. Le MPM Prefork offre le même modèle
+ de processus enfants prélancés que celui d'Apache 1.3. Le
+ MPM Worker quant à lui, lance un nombre de processus enfants
+ moins important, mais attribue à chacun d'entre eux un
+ certain nombre de threads pour traiter les requêtes. Avec la
+ version 2.4, le MPM n'est plus défini à la compilation,
+ mais peut être chargé à l'exécution via la directive
Le nombre maximum de process, à savoir le nombre de processus - enfants prélancés et/ou de threads, donne une approximation - du nombre de requêtes que votre serveur peut traiter - simultanément. Ce n'est cependant qu'une estimation car le +
Le nombre maximum de process, à savoir le nombre de processus + enfants prélancés et/ou de threads, donne une approximation + du nombre de requêtes que votre serveur peut traiter + simultanément. Ce n'est cependant qu'une estimation car le noyau peut mettre en file d'attente des tentatives de - connexion à votre serveur. Lorsque votre site approche de la + connexion à votre serveur. Lorsque votre site approche de la saturation et si le nombre maximum de process est atteint, la machine n'impose pas de limite absolue au - delà de laquelle les clients se verront refuser l'accès. - Cependant, lorsque les requêtes commencent à être mises en - file d'attente, les performances du système se dégradent + delà de laquelle les clients se verront refuser l'accès. + Cependant, lorsque les requêtes commencent à être mises en + file d'attente, les performances du système se dégradent rapidement.
-Enfin, si le serveur httpd en question n'exécute aucun +
Enfin, si le serveur httpd en question n'exécute aucun
code tiers via mod_php, mod_perl,
etc..., nous recommandons l'utilisation de
-
La directive MaxClients permet de
- spécifier le nombre maximum de process que votre serveur
- pourra créer. Deux autres directives lui sont associées
+ spécifier le nombre maximum de process que votre serveur
+ pourra créer. Deux autres directives lui sont associées
: MinSpareServers et
MaxSpareServers, qui permettent d'encadrer
- le nombre de process que httpd garde en réserve pour
- traiter les requêtes. Le nombre total de process que
- httpd peut créer peut
- être défini via la directive ServerLimit.
+ le nombre de process que httpd garde en réserve pour
+ traiter les requêtes. Le nombre total de process que
+ httpd peut créer peut
+ être défini via la directive ServerLimit.
Les directives ci-dessus suffisent pour définir les +
Les directives ci-dessus suffisent pour définir les
limites des nombres de process dans le cas du MPM Prefork.
- Cependant, si vous utilisez un MPM à base de threads, la
- situation est un peu plus compliquée. Les MPMs à base de
+ Cependant, si vous utilisez un MPM Ã base de threads, la
+ situation est un peu plus compliquée. Les MPMs à base de
threads supportent la directive
ThreadsPerChild. httpd impose le fait que
- MaxClients doit être divisible par
+ MaxClients doit être divisible par
ThreadsPerChild. Si les valeurs que vous
- attribuez à ces deux directives ne respectent pas cette
- règle, httpd affichera un message d'erreur et corrigera
+ attribuez à ces deux directives ne respectent pas cette
+ règle, httpd affichera un message d'erreur et corrigera
la valeur de la directive ThreadsPerChild
- en la diminuant jusqu'à ce que la valeur de la directive
+ en la diminuant jusqu'Ã ce que la valeur de la directive
MaxClients soit divisible par elle.
Idéalement, le nombre maximum de processus devrait - être choisi de façon à ce que toute la mémoire système - soit utilisée, sans la dépasser. En effet, si votre - système est surchargé au point de devoir faire appel de - manière intensive au swap (utilisation de la mémoire - disque), les performances vont se dégrader rapidement. - La formule permettant de déterminer la valeur de +
Idéalement, le nombre maximum de processus devrait
+ être choisi de façon à ce que toute la mémoire système
+ soit utilisée, sans la dépasser. En effet, si votre
+ système est surchargé au point de devoir faire appel de
+ manière intensive au swap (utilisation de la mémoire
+ disque), les performances vont se dégrader rapidement.
+ La formule permettant de déterminer la valeur de
L'observation est la meilleure manière de déterminer - les différentes quantités de mémoire allouées au - système, aux programmes externes et aux processus httpd - : à cet effet, vous pouvez utiliser les commandes top et - free décrites plus haut pour étudier l'empreinte mémoire - du système lorsque le serveur web n'est pas en cours - d'exécution. Vous pouvez aussi étudier l'empreinte d'un +
L'observation est la meilleure manière de déterminer + les différentes quantités de mémoire allouées au + système, aux programmes externes et aux processus httpd + : à cet effet, vous pouvez utiliser les commandes top et + free décrites plus haut pour étudier l'empreinte mémoire + du système lorsque le serveur web n'est pas en cours + d'exécution. Vous pouvez aussi étudier l'empreinte d'un processus type du serveur web via la commande top ; en - effet, la plupart des implémentations de cette commande - présentent une colonne Mémoire résidente (RSS - Resident - Size) et Mémoire partagée (Shared Memory). -
-La différence entre ces deux colonnes est la - quantité de mémoire par processus. Le segment de mémoire - partagée n'existe effectivement qu'une seule fois, et - est utilisé par le code et les bibliothèques chargées et - la concurrence inter-processus (ou tableau de résultat - - scoreboard) géré par Apache. La quantité de mémoire - utilisée par chaque processus dépend fortement du nombre - et du type de modules utilisés. La meilleure façon d'en - déterminer les besoins consiste à générer une charge - type pour votre site web et à observer l'importance que + effet, la plupart des implémentations de cette commande + présentent une colonne Mémoire résidente (RSS - Resident + Size) et Mémoire partagée (Shared Memory). +
+La différence entre ces deux colonnes est la + quantité de mémoire par processus. Le segment de mémoire + partagée n'existe effectivement qu'une seule fois, et + est utilisé par le code et les bibliothèques chargées et + la concurrence inter-processus (ou tableau de résultat - + scoreboard) géré par Apache. La quantité de mémoire + utilisée par chaque processus dépend fortement du nombre + et du type de modules utilisés. La meilleure façon d'en + déterminer les besoins consiste à générer une charge + type pour votre site web et à observer l'importance que prennent les processus httpd.
La RAM pour les programmes externes comprend
- principalement la mémoire utilisée pour les programmes
- CGI et les scripts qui s'exécutent indépendamment des
+ principalement la mémoire utilisée pour les programmes
+ CGI et les scripts qui s'exécutent indépendamment des
processus httpd. Par contre, si vous utilisez une
- machine virtuelle Java qui exécute Tomcat sur le même
- serveur, cette dernière va aussi nécessiter une quantité
- de mémoire significative. En conséquence, la formule
- ci-dessus qui sert à calculer la valeur maximale de
- MaxClients permet d'effectuer une première approche,
+ machine virtuelle Java qui exécute Tomcat sur le même
+ serveur, cette dernière va aussi nécessiter une quantité
+ de mémoire significative. En conséquence, la formule
+ ci-dessus qui sert à calculer la valeur maximale de
+ MaxClients permet d'effectuer une première approche,
mais ne constitue en aucun cas une science exacte. En
cas de doute, soyez pragmatique et utilisez une valeur assez
basse pour MaxClients. Le noyau Linux
- réserve une certaine quantité de mémoire pour la mise en
- cache des accès disque. Sous Solaris par contre, il faut disposer
- de suffisamment de mémoire RAM pour créer un processus,
- et si ce n'est pas le cas, httpd va démarrer avec un
+ réserve une certaine quantité de mémoire pour la mise en
+ cache des accès disque. Sous Solaris par contre, il faut disposer
+ de suffisamment de mémoire RAM pour créer un processus,
+ et si ce n'est pas le cas, httpd va démarrer avec un
message d'erreur du style "No space left on device" dans
- le journal des erreurs, et sera incapable de créer
+ le journal des erreurs, et sera incapable de créer
d'autres processus httpd enfants ; une valeur trop
- élevée pour MaxClients constituera alors
- réellement un désavantage.
+ élevée pour MaxClients constituera alors
+ réellement un désavantage.
La commutation entre threads est plus - aisée pour le système, et ceux-ci consomment moins de + aisée pour le système, et ceux-ci consomment moins de ressources que les processus ; c'est la raison - principale pour laquelle il est recommandé de choisir un - MPM threadé. Et - ceci est encore plus flagrant pour certains systèmes + principale pour laquelle il est recommandé de choisir un + MPM threadé. Et + ceci est encore plus flagrant pour certains systèmes d'exploitation que pour d'autres. Par exemple, sous Solaris ou AIX, la manipulation des processus est assez - lourde en termes de ressources système ; l'utilisation - d'un MPM threadé est donc tout à fait indiquée pour ces - systèmes. Sous Linux en revanche, l'implémentation des + lourde en termes de ressources système ; l'utilisation + d'un MPM threadé est donc tout à fait indiquée pour ces + systèmes. Sous Linux en revanche, l'implémentation des threads utilise en fait un processus par thread. Les - processus Linux sont assez légers, mais cela signifie qu'un - MPM threadé présentera ici un gain en performance - moindre que sous d'autres systèmes. + processus Linux sont assez légers, mais cela signifie qu'un + MPM threadé présentera ici un gain en performance + moindre que sous d'autres systèmes.
Dans certaines situations cependant, l'utilisation - d'un MPM threadé peut induire des problèmes de - stabilité. Par exemple, si un processus enfant du MPM + d'un MPM threadé peut induire des problèmes de + stabilité. Par exemple, si un processus enfant du MPM prefork se crashe, au plus une connexion client sera - affectée ; par contre, si un processus enfant threadé se + affectée ; par contre, si un processus enfant threadé se crashe, ce sont tous les threads de ce processus qui - vont se crasher à leur tour, ce qui signifie que tous - les clients qui étaient servis par ce processus verront - leur connexion interrompue. De plus, certains problèmes - de sécurité des threads ("thread-safety") - peuvent apparaître, particulièrement avec les - bibliothèques tierces. Avec les applications threadées, - les différents threads peuvent avoir accès aux mêmes + vont se crasher à leur tour, ce qui signifie que tous + les clients qui étaient servis par ce processus verront + leur connexion interrompue. De plus, certains problèmes + de sécurité des threads ("thread-safety") + peuvent apparaître, particulièrement avec les + bibliothèques tierces. Avec les applications threadées, + les différents threads peuvent avoir accès aux mêmes variables sans distinction, sans savoir si une variable - n'a pas été modifiée par un autre thread. + n'a pas été modifiée par un autre thread.
-Ce problème a fait l'objet d'un point sensible au - sein de la communauté PHP car Le processeur PHP repose - fortement sur des bibliothèques tierces, et il n'est pas - garanti que la totalité d'entre elles soient +
Ce problème a fait l'objet d'un point sensible au + sein de la communauté PHP car Le processeur PHP repose + fortement sur des bibliothèques tierces, et il n'est pas + garanti que la totalité d'entre elles soient "thread-safe". Bonne nouvelle cependant : si vous - exécutez Apache sous Linux, vous pouvez utiliser PHP + exécutez Apache sous Linux, vous pouvez utiliser PHP avec le MPM prefork sans craindre une diminution de - performance trop importante par rapport à une option - threadée. + performance trop importante par rapport à une option + threadée.
@@ -1038,24 +1038,24 @@ Swap: 3903784 12540 3891244Apache httpd maintient un verrou inter-processus du
- point de vue de son écoute du réseau. Dans les faits,
- cela signifie qu'un seul processus httpd enfant à la
- fois peut recevoir une requête. Ainsi, soient les autres
- processus en profitent alors pour traiter les requêtes
- qu'ils ont déjà reçues, soient ils attendent de pouvoir
- à leur tour récupérer le verrou et ainsi écouter le
- réseau pour recevoir une nouvelle requête. Ceci peut se
+ point de vue de son écoute du réseau. Dans les faits,
+ cela signifie qu'un seul processus httpd enfant à la
+ fois peut recevoir une requête. Ainsi, soient les autres
+ processus en profitent alors pour traiter les requêtes
+ qu'ils ont déjà reçues, soient ils attendent de pouvoir
+ à leur tour récupérer le verrou et ainsi écouter le
+ réseau pour recevoir une nouvelle requête. Ceci peut se
voir comme une porte tournante par laquelle un seul
- processus peut passer à la fois. Sur un serveur web
- fortement chargé où les requêtes arrivent constamment,
- la porte tourne rapidement et les requêtes sont
- acceptées à un rythme soutenu. Sur un serveur faiblement
- chargé en revanche, le processus qui "détient"
+ processus peut passer à la fois. Sur un serveur web
+ fortement chargé où les requêtes arrivent constamment,
+ la porte tourne rapidement et les requêtes sont
+ acceptées à un rythme soutenu. Sur un serveur faiblement
+ chargé en revanche, le processus qui "détient"
le verrou est suceptible de garder sa porte ouverte un
certain temps durant lequel tous les autres processus
seront inactifs, attendant de pouvoir s'approprier le
verrou. Dans une telle situation, le processus parent
- pourra décider d'arrêter quelques processus enfants en
+ pourra décider d'arrêter quelques processus enfants en
fonction de la valeur de la directive
MaxSpareServers.
La fonction de l'"accept mutex" (c'est le nom donné au - verrou inter-processus) consiste à gérer la réception - des requêtes de manière ordonnée. Si ce verrou est +
La fonction de l'"accept mutex" (c'est le nom donné au + verrou inter-processus) consiste à gérer la réception + des requêtes de manière ordonnée. Si ce verrou est absent, le syndrome de l'"assaut de la foule" peut - apparaître. + apparaître.
-Imaginez une équipe de football américain en attente +
Imaginez une équipe de football américain en attente devant la ligne de remise en jeu. Si les joueurs se comportaient comme des processus Apache, ils se - précipiteraient tous à la fois pour récupérer la balle au + précipiteraient tous à la fois pour récupérer la balle au signal de la reprise. Un seul d'entre eux y - parviendrait, et tous les autres n'auraient plus qu'à se - regrouper à nouveau sur la ligne jusqu'à la reprise - suivante. Dans cette métaphore, c'est le quaterback qui - va jouer le rôle d'"accept mutex" en donnant la balle - au joueur approprié. -
-La transmission d'une telle quantité d'informations - représente naturellement beaucoup de travail et, comme + parviendrait, et tous les autres n'auraient plus qu'à se + regrouper à nouveau sur la ligne jusqu'à la reprise + suivante. Dans cette métaphore, c'est le quaterback qui + va jouer le rôle d'"accept mutex" en donnant la balle + au joueur approprié. +
+La transmission d'une telle quantité d'informations + représente naturellement beaucoup de travail et, comme une personne intelligente, un serveur intelligent - tentera d'éviter cette surcharge dans la mesure du - possible, d'où l'idée de la porte tournante. Dans les - dernières années, de nombreux systèmes d'exploitation, - comme Linux et Solaris, ont développé du code pour - éviter le syndrome de l'"assaut de la foule". Apache - reconnaît ce code, et si vous n'effectuez qu'une seule - écoute du réseau, autrement dit si vous n'utilisez que + tentera d'éviter cette surcharge dans la mesure du + possible, d'où l'idée de la porte tournante. Dans les + dernières années, de nombreux systèmes d'exploitation, + comme Linux et Solaris, ont développé du code pour + éviter le syndrome de l'"assaut de la foule". Apache + reconnaît ce code, et si vous n'effectuez qu'une seule + écoute du réseau, autrement dit si vous n'utilisez que le serveur principal ou un seul serveur virtuel, Apache n'utilisera pas d'"accept mutex" ; par contre, si vous - effectuez plusieurs écoutes du réseau (par exemple si - un serveur virtuel sert les requêtes SSL), Apache - utilisera un "accept mutex" afin d'éviter les conflits + effectuez plusieurs écoutes du réseau (par exemple si + un serveur virtuel sert les requêtes SSL), Apache + utilisera un "accept mutex" afin d'éviter les conflits internes.
Vous pouvez manipuler l'"accept mutex" via la
- directive AcceptMutex. Cette dernière
+ directive AcceptMutex. Cette dernière
permet en particulier de fermer l'"accept mutex", mais
- aussi de sélectionner le mécanisme de verrouillage. Les
- mécanismes de verrouillage courants comprennent fcntl,
- les sémaphores System V et le verrouillage par threads.
- Tous ne sont pas supportés par toutes les plateformes,
- et leur disponibilité dépend aussi des options de
- compilation. Les différents mécanismes de verrouillage
- peuvent avoir des exigences particulières en matière de
- ressources système ; il est donc recommandé de les
- utiliser avec précautions.
-
Il n'existe aucune raison particulière pour - désactiver l'"accept mutex". Apache détermine + aussi de sélectionner le mécanisme de verrouillage. Les + mécanismes de verrouillage courants comprennent fcntl, + les sémaphores System V et le verrouillage par threads. + Tous ne sont pas supportés par toutes les plateformes, + et leur disponibilité dépend aussi des options de + compilation. Les différents mécanismes de verrouillage + peuvent avoir des exigences particulières en matière de + ressources système ; il est donc recommandé de les + utiliser avec précautions. +
+Il n'existe aucune raison particulière pour + désactiver l'"accept mutex". Apache détermine automatiquement s'il doit utiliser ou non mutex sur - votre plateforme en fonction du nombre d'écoutes réseau - de votre serveur, comme décrit précédemment. + votre plateforme en fonction du nombre d'écoutes réseau + de votre serveur, comme décrit précédemment.
Souvent, les utilisateurs recherchent le paramètre magique qui va - multiplier par quatre les performances de leur système. En - fait, les systèmes de type Unix actuels sont déjà optimisés - à l'origine, et il n'y a plus grand chose à faire pour - améliorer leurs performances. L'administrateur peut +
Souvent, les utilisateurs recherchent le paramètre magique qui va + multiplier par quatre les performances de leur système. En + fait, les systèmes de type Unix actuels sont déjà optimisés + à l'origine, et il n'y a plus grand chose à faire pour + améliorer leurs performances. L'administrateur peut cependant encore effectuer quelques modifications qui permettront de peaufiner la configuration.
@@ -1135,61 +1135,61 @@ Swap: 3903784 12540 3891244Le leitmotiv en matière de mémoire est souvent "plus +
Le leitmotiv en matière de mémoire est souvent "plus on en a, mieux c'est". En effet, comme nous avons dit - plus haut, la mémoire inutilisée peut être - avantageusement utilisée comme cache du système de + plus haut, la mémoire inutilisée peut être + avantageusement utilisée comme cache du système de fichiers. Plus vous chargez de modules, plus les processus Apache grossissent, et ceci d'autant plus si vous - utilisez des modules qui génèrent des contenus + utilisez des modules qui génèrent des contenus dynamiques comme PHP et mod_perl. Un gros fichier de configuration - avec de nombreux serveurs virtuels - a - aussi tendance à augmenter l'empreinte mémoire des - processus. Une quantité de mémoire importante vous - permettra d'exécuter Apache avec plus de processus - enfants, et donc de traiter d'avantage de requêtes - simultanément. -
-Même si les différentes plateformes traitent leur - mémoire virtuelle de différentes manières, il est - déconseillé de configurer un espace disque de swap - inférieur à la mémoire RAM. En effet, le système de mémoire - virtuelle a été conçu de manière à prendre le relai - lorsque la mémoire RAM fait défaut, et lorsque l'espace - disque, et donc l'espace de swap vient à manquer, votre - serveur risque de s'arrêter. Vous devrez alors - redémarrer physiquement votre serveur, et votre - hébergeur pourra vous facturer le service. -
-Evidemment, ce genre problème survient au moment le - plus défavorable : lorsque le monde vient découvrir votre - site web et se présente avec insistance à votre porte. - Si votre espace de swap est suffisant, même si la - machine sera de plus en plus surchargée et deviendra - très très lente car le système devra swapper les pages - entre la mémoire et le disque, lorsque la charge diminuera à - nouveau, le système reviendra dans son mode de + aussi tendance à augmenter l'empreinte mémoire des + processus. Une quantité de mémoire importante vous + permettra d'exécuter Apache avec plus de processus + enfants, et donc de traiter d'avantage de requêtes + simultanément. +
+Même si les différentes plateformes traitent leur + mémoire virtuelle de différentes manières, il est + déconseillé de configurer un espace disque de swap + inférieur à la mémoire RAM. En effet, le système de mémoire + virtuelle a été conçu de manière à prendre le relai + lorsque la mémoire RAM fait défaut, et lorsque l'espace + disque, et donc l'espace de swap vient à manquer, votre + serveur risque de s'arrêter. Vous devrez alors + redémarrer physiquement votre serveur, et votre + hébergeur pourra vous facturer le service. +
+Evidemment, ce genre problème survient au moment le
+ plus défavorable : lorsque le monde vient découvrir votre
+ site web et se présente avec insistance à votre porte.
+ Si votre espace de swap est suffisant, même si la
+ machine sera de plus en plus surchargée et deviendra
+ très très lente car le système devra swapper les pages
+ entre la mémoire et le disque, lorsque la charge diminuera Ã
+ nouveau, le système reviendra dans son mode de
fonctionnement normal. Rappelez-vous que vous disposez
- de la directive MaxClients pour garder le contrôle.
+ de la directive MaxClients pour garder le contrôle.
La plupart des systèmes de type Unix utilisent des - partitions dédiées au swap. Au démarrage du système, +
La plupart des systèmes de type Unix utilisent des
+ partitions dédiées au swap. Au démarrage du système,
celui-ci enregistre toutes les partitions de swap du ou
des disques en fonction du type de la partition ou du
contenu du fichier /etc/fstab et les
- active de manière automatique. Lorsque vous ajoutez un
- disque, ou lorsque vous installez le système
+ active de manière automatique. Lorsque vous ajoutez un
+ disque, ou lorsque vous installez le système
d'exploitation, assurez-vous d'allouer suffisamment
- d'espace de swap afin de rester en adéquation avec une
- éventuelle augmentation de la mémoire RAM. La
- réallocation d'espace disque sur un système en
- production est en effet pénible et fastidieuse.
-
Prévoyez un espace de swap de deux fois la taille de - votre mémoire RAM, et même jusqu'à quatre fois lorsque - les surcharges peuvent s'avérer fréquentes. Assurez-vous - de réajuster ces valeurs lorsque vous augmentez la - quantité de mémoire RAM de votre système. En secours, + d'espace de swap afin de rester en adéquation avec une + éventuelle augmentation de la mémoire RAM. La + réallocation d'espace disque sur un système en + production est en effet pénible et fastidieuse. +
+Prévoyez un espace de swap de deux fois la taille de
+ votre mémoire RAM, et même jusqu'à quatre fois lorsque
+ les surcharges peuvent s'avérer fréquentes. Assurez-vous
+ de réajuster ces valeurs lorsque vous augmentez la
+ quantité de mémoire RAM de votre système. En secours,
vous pouvez aussi utilisez un fichier comme espace de
swap. Pour ce faire, vous trouverez les instructions
dans les pages de manuel de Supposons que vous disposiez d'une machine possédant
- une énorme quantité de mémoire RAM et un processeur aux
- performances astronomiques ; vous pourrez alors exécuter
+ Supposons que vous disposiez d'une machine possédant
+ une énorme quantité de mémoire RAM et un processeur aux
+ performances astronomiques ; vous pourrez alors exécuter
des centaines de processus Apache selon vos besoins,
- mais tout en restant en deçà des limites imposées par le
- noyau de votre système.
+ mais tout en restant en deçà des limites imposées par le
+ noyau de votre système.
Considérez maintenant une situation où plusieurs
- centaines de serveurs web sont en cours d'exécution ; si
- certains d'entre eux doivent à leur tour lancer des
- processus CGI, le nombre maximum de processus autorisé
+ Considérez maintenant une situation où plusieurs
+ centaines de serveurs web sont en cours d'exécution ; si
+ certains d'entre eux doivent à leur tour lancer des
+ processus CGI, le nombre maximum de processus autorisé
par le noyau sera vite atteint.
Dans ce cas, vous pouvez modifier cette limite avec
@@ -1223,15 +1223,15 @@ Swap: 3903784 12540 3891244
ulimit [-H|-S] -u [nouvelle valeur]
- Cette modification doit être effectuée avant le
- démarrage du serveur, car la nouvelle valeur ne sera
+ Cette modification doit être effectuée avant le
+ démarrage du serveur, car la nouvelle valeur ne sera
prise en compte que dans le shell courant et pour les
- programmes lancés depuis ce dernier. Dans les derniers
- noyaux Linux, la valeur par défaut a été fixée à 2048.
- Sous FreeBSD, ce nombre semble être limité à la valeur
- inhabituelle de 513. Dans le shell par défaut de ce
- système, En outre, le noyau peut limiter le nombre de fichiers
- ouverts par processus. Ce n'est généralement pas un
- problème pour les serveurs dont les processus sont lancés
- à l'avance, et où chacun de ceux-ci ne traite qu'une
- requête à la fois. Les processus des serveurs threadés,
- quant à eux, traitent plusieurs requêtes simultanément,
- et sont d'avantage susceptibles de dépasser la limite du
+ ouverts par processus. Ce n'est généralement pas un
+ problème pour les serveurs dont les processus sont lancés
+ à l'avance, et où chacun de ceux-ci ne traite qu'une
+ requête à la fois. Les processus des serveurs threadés,
+ quant à eux, traitent plusieurs requêtes simultanément,
+ et sont d'avantage susceptibles de dépasser la limite du
nombre de descripteurs de fichiers. Vous pouvez alors
augmenter cette valeur limite du nombre de fichiers
ouverts avec la commande :
@@ -1254,23 +1254,23 @@ Swap: 3903784 12540 3891244
Là encore, cette modification doit être effectuée
- avant le démarrage du serveur Apache.
+ Là encore, cette modification doit être effectuée
+ avant le démarrage du serveur Apache.
Sous Linux, vous pouvez définir les paramètres de
- ulimit au démarrage en éditant le fichier
+ Sous Linux, vous pouvez définir les paramètres de
+ ulimit au démarrage en éditant le fichier
Chaque item peut posséder une valeur "soft" et
- "hard" : la première est la valeur
- par défaut, et la seconde la valeur maximale de cet
+ Chaque item peut posséder une valeur "soft" et
+ "hard" : la première est la valeur
+ par défaut, et la seconde la valeur maximale de cet
item.
Dans le fichier Solaris possède un mécanisme similaire pour manipuler
- les valeurs limites au démarrage du système : dans le
- fichier Solaris possède un mécanisme similaire pour manipuler
+ les valeurs limites au démarrage du système : dans le
+ fichier Solaris calcule le nombre maximal de processus
- autorisé par utilisateur ( Il est cependant déconseillé de les modifier.
+ Il est cependant déconseillé de les modifier.
Dans la plupart des distributions Unix et Linux, de
- nombreux services sont activés par défaut, et vous n'
- avez probablement besoin que d'une minorité d'entre eux.
+ nombreux services sont activés par défaut, et vous n'
+ avez probablement besoin que d'une minorité d'entre eux.
Par exemple, votre serveur web n'a pas besoin de
- sendmail, de fournir le service NFS, etc... Désactivez
+ sendmail, de fournir le service NFS, etc... Désactivez
les tout simplement.
Pour ce faire, sous RedHat Linux, vous
disposez de l'utilitaire chkconfig en ligne de commande.
Sous Solaris, les commandes Vous devez aussi prêter attention aux modules Apache
- chargés par défaut. La plupart des distributions binaires
- d'Apache httpd et des versions préinstallées fournies
+ Vous devez aussi prêter attention aux modules Apache
+ chargés par défaut. La plupart des distributions binaires
+ d'Apache httpd et des versions préinstallées fournies
avec les distributions de Linux chargent les modules
Apache via la directive
Les modules inutilisés peuvent être désactivés : si
- vous n'avez pas besoin de leurs fonctionnalités et des
- directives de configuration qu'ils implémentent,
- désactivez-les en commentant les lignes
+ Les modules inutilisés peuvent être désactivés : si
+ vous n'avez pas besoin de leurs fonctionnalités et des
+ directives de configuration qu'ils implémentent,
+ désactivez-les en commentant les lignes
Les requêtes impliquant des contenus dynamiques nécessitent
- en général d'avantage de ressources que les
- requêtes pour des contenus statiques. Les contenus statiques
+ Les requêtes impliquant des contenus dynamiques nécessitent
+ en général d'avantage de ressources que les
+ requêtes pour des contenus statiques. Les contenus statiques
consistent en simples pages issues de documents ou images
- sur disque, et sont servis très rapidement. En outre, de
- nombreux systèmes d'exploitation mettent automatiquement en
- cache en mémoire les contenus des fichiers fréquemment accédés.
+ sur disque, et sont servis très rapidement. En outre, de
+ nombreux systèmes d'exploitation mettent automatiquement en
+ cache en mémoire les contenus des fichiers fréquemment accédés.
Comme indiqué précédemment, le traitement des requêtes dynamiques peut
- nécessiter beaucoup plus de ressources. L'exécution de scripts
- CGI, le transfert de requêtes à un serveur d'applications
- externe, ou les accès à une base de données peuvent impliquer
+ Comme indiqué précédemment, le traitement des requêtes dynamiques peut
+ nécessiter beaucoup plus de ressources. L'exécution de scripts
+ CGI, le transfert de requêtes à un serveur d'applications
+ externe, ou les accès à une base de données peuvent impliquer
des temps d'attente et charges de travail significatifs pour un
- serveur web fortement sollicité. Dans de nombreuses
- circonstances, vous pourrez alors améliorer les performances en
- transformant les requêtes dynamiques courantes en requêtes
- statiques. Pour ce faire, deux approches seront discutées dans
+ serveur web fortement sollicité. Dans de nombreuses
+ circonstances, vous pourrez alors améliorer les performances en
+ transformant les requêtes dynamiques courantes en requêtes
+ statiques. Pour ce faire, deux approches seront discutées dans
la suite de cette section.
En générant à l'avance les réponses pour les requêtes les
- plus courantes de votre application, vous pouvez améliorer
- de manière significative les performances de votre serveur
- sans abandonner la flexibilité des contenus générés
+ En générant à l'avance les réponses pour les requêtes les
+ plus courantes de votre application, vous pouvez améliorer
+ de manière significative les performances de votre serveur
+ sans abandonner la flexibilité des contenus générés
dynamiquement. Par exemple, si votre application est un
- service de livraison de fleurs, vous aurez tout intérêt à
- générer à l'avance les pages de votre catalogue concernant
- les roses rouges dans les semaines précédant le jour de la
+ service de livraison de fleurs, vous aurez tout intérêt Ã
+ générer à l'avance les pages de votre catalogue concernant
+ les roses rouges dans les semaines précédant le jour de la
Saint Valentin. Lorsqu'un utilisateur cherchera des roses
- rouges, il téléchargera alors les pages générées à
+ rouges, il téléchargera alors les pages générées Ã
l'avance. Par contre, les recherches de roses jaunes seront
- quant à elles traitées directement via une requête vers la
- base de données. Pour effectuer ces aiguillages de requêtes,
- vous disposez d'un outil particulièrement approprié fourni
+ quant à elles traitées directement via une requête vers la
+ base de données. Pour effectuer ces aiguillages de requêtes,
+ vous disposez d'un outil particulièrement approprié fourni
avec Apache : le module mod_rewrite.
Blosxom est un programme CGI de journalisation web
- léger. Il est écrit en Perl et utilise des fichiers
- texte pour ses entrées. Outre sa qualité de programme
- CGI, Blosxom peut être exécuté en ligne de commande pour
- générer à l'avance des pages de blog. Lorsque votre blog
- commence à être lu par un grand nombre de personnes, la
- génération à l'avance de pages en HTML satique peut
- améliorer de manière significative les performances de
+ léger. Il est écrit en Perl et utilise des fichiers
+ texte pour ses entrées. Outre sa qualité de programme
+ CGI, Blosxom peut être exécuté en ligne de commande pour
+ générer à l'avance des pages de blog. Lorsque votre blog
+ commence à être lu par un grand nombre de personnes, la
+ génération à l'avance de pages en HTML satique peut
+ améliorer de manière significative les performances de
votre serveur.
Pour générer des pages statiques avec blosxom, éditez
- le script CGI selon la documentation. Définissez la
- variable $static dir à la valeur de
+ Pour générer des pages statiques avec blosxom, éditez
+ le script CGI selon la documentation. Définissez la
+ variable $static dir à la valeur de
Vous pouvez exécuter ce script périodiquement via
- cron, à chaque fois que vous ajoutez un nouveau contenu. Pour
+ Vous pouvez exécuter ce script périodiquement via
+ cron, Ã chaque fois que vous ajoutez un nouveau contenu. Pour
faire en sorte qu'Apache substitue les pages
statiques au contenu dynamique, nous
utiliserons mod_rewrite. Ce module est fourni avec le
- code source d'Apache, mais n'est pas compilé par défaut.
+ code source d'Apache, mais n'est pas compilé par défaut.
Pour le compiler avec la distribution d'Apache, vous
pouvez utiliser l'option de la commande configure
Si les directives Le module mod_cache implémente une mise en cache
- intelligente des réponses HTTP : il tient compte des délais
- de péremption et des contraintes en matière de contenu
- inhérentes à la spécification HTTP. Le module mod_cache met
- en cache les URL des contenus des réponses. Si un contenu envoyé au
- client peut être mis en cache, il est sauvegardé sur disque.
- Les requêtes ultérieures pour cette URL seront alors servies
+ Le module mod_cache implémente une mise en cache
+ intelligente des réponses HTTP : il tient compte des délais
+ de péremption et des contraintes en matière de contenu
+ inhérentes à la spécification HTTP. Le module mod_cache met
+ en cache les URL des contenus des réponses. Si un contenu envoyé au
+ client peut être mis en cache, il est sauvegardé sur disque.
+ Les requêtes ultérieures pour cette URL seront alors servies
directement depuis le cache. Le module fournisseur pour
- mod_cache, mod_disk_cache, détermine la manière dont les
- contenus sont stockés sur disque. La plupart des systèmes de
- serveur possèdent plus d'espace disque que de mémoire, et il
- est bon de garder à l'esprit que certains noyaux système mettent en
- cache de manière transparente en mémoire les contenus sur
- disque fréquemment accédés ; il n'est donc pas très utile de
- répéter cette opération au niveau du serveur.
+ mod_cache, mod_disk_cache, détermine la manière dont les
+ contenus sont stockés sur disque. La plupart des systèmes de
+ serveur possèdent plus d'espace disque que de mémoire, et il
+ est bon de garder à l'esprit que certains noyaux système mettent en
+ cache de manière transparente en mémoire les contenus sur
+ disque fréquemment accédés ; il n'est donc pas très utile de
+ répéter cette opération au niveau du serveur.
Pour mettre en oeuvre une mise en cache de contenu
- efficace et éviter de présenter à l'utilisateur un contenu
- invalide ou périmé, l'application qui génère le contenu à
- jour doit envoyer les en-têtes de réponse corrects. En
- effet, en l'absence d'en-têtes comme
Le Wiki de l'Apache Software Foundation est servi
- par MoinMoin. MoinMoin est écrit en Python et
- s'exécute en tant que programme CGI. A l'heure
- actuelle, toute tentative pour l'exécuter via
- mod_python s'est soldée par un échec. Le programme
+ par MoinMoin. MoinMoin est écrit en Python et
+ s'exécute en tant que programme CGI. A l'heure
+ actuelle, toute tentative pour l'exécuter via
+ mod_python s'est soldée par un échec. Le programme
CGI induit une charge inacceptable sur le serveur,
- particulièrement lorsque le Wiki est indexé par des
- moteurs de recherche comme Google. Pour alléger la
- charge de la machine, l'équipe d'infrastructure
- d'Apache s'est tournée vers mod_cache. Il s'est
- avéré que MoinMoin
- nécessitait un petit patch pour adopter un
- comportement approprié en aval du serveur de mise
- en cache : certaines requêtes ne pouvaient jamais
- être mises en cache, et les modules Python
- concernés ont été mis à jour pour pouvoir envoyer
- les en-têtes de réponse HTTP corrects. Après cette
+ particulièrement lorsque le Wiki est indexé par des
+ moteurs de recherche comme Google. Pour alléger la
+ charge de la machine, l'équipe d'infrastructure
+ d'Apache s'est tournée vers mod_cache. Il s'est
+ avéré que MoinMoin
+ nécessitait un petit patch pour adopter un
+ comportement approprié en aval du serveur de mise
+ en cache : certaines requêtes ne pouvaient jamais
+ être mises en cache, et les modules Python
+ concernés ont été mis à jour pour pouvoir envoyer
+ les en-têtes de réponse HTTP corrects. Après cette
modification, la mise en cache en amont du Wiki a
- été activée via l'insertion des lignes suivantes
+ été activée via l'insertion des lignes suivantes
dans le fichier de configuration
mkswap et
@@ -1202,17 +1202,17 @@ Swap: 3903784 12540 3891244
csh, la commande équivalente est
- limit et possède une syntaxe analogue à
+ programmes lancés depuis ce dernier. Dans les derniers
+ noyaux Linux, la valeur par défaut a été fixée à 2048.
+ Sous FreeBSD, ce nombre semble être limité à la valeur
+ inhabituelle de 513. Dans le shell par défaut de ce
+ système, csh, la commande équivalente est
+ limit et possède une syntaxe analogue Ã
celle de la commande de style Bourne ulimit :
/etc/security/limits.conf. Ce fichier vous
- permet de définir des limites "soft" et "hard"
+ permet de définir des limites "soft" et "hard"
en fonction de l'utilisateur ou du groupe ;
vous y trouverez aussi des commentaires explicatifs des
- différentes options. Pour que ce fichier soit pris en
+ différentes options. Pour que ce fichier soit pris en
compte, le fichier /etc/pam.d/login doit
contenir la ligne :
/etc/login.conf de
- FreeBSD, ces valeurs peuvent être limitées ou étendues à
- tout le système de manière analogue au fichier
+ FreeBSD, ces valeurs peuvent être limitées ou étendues Ã
+ tout le système de manière analogue au fichier
limits.conf. Les limites "soft" sont
- spécifiées via le paramètre -cur, et les
- limites "hard" via le paramètre -max.
+ spécifiées via le paramètre -cur, et les
+ limites "hard" via le paramètre -max.
/etc/system, vous pouvez définir au
- démarrage des paramètres du noyau valables pour
- l'ensemble du système. Ce sont les mêmes paramètres que
- ceux définis à l'exécution par le débogueur de noyau
- mdb. Les commandes équivalentes à ulimit -u
- pour définir les limites hard et soft seront du style :
+ /etc/system, vous pouvez définir au
+ démarrage des paramètres du noyau valables pour
+ l'ensemble du système. Ce sont les mêmes paramètres que
+ ceux définis à l'exécution par le débogueur de noyau
+ mdb. Les commandes équivalentes à ulimit -u
+ pour définir les limites hard et soft seront du style :
maxuprc) en
- fonction de la mémoire système disponible
+ autorisé par utilisateur (maxuprc) en
+ fonction de la mémoire système disponible
(maxusers). Vous pouvez obtenir ces valeurs
avec la commande :
svcs et
svcadm vous permettent respectivement
- de lister les services activés et de désactiver ceux
+ de lister les services activés et de désactiver ceux
dont vous n'avez pas besoin.
--enable-rewrite[=shared]. De nombreuses
distributions binaires d'Apache sont fournies avec
Etag:,
+ efficace et éviter de présenter à l'utilisateur un contenu
+ invalide ou périmé, l'application qui génère le contenu Ã
+ jour doit envoyer les en-têtes de réponse corrects. En
+ effet, en l'absence d'en-têtes comme Etag:,
Last-Modified: ou Expires:,
- --enable-cache[=shared] du
script configure. Si vous utilisez une distribution binaire
d'Apache httpd, ou si elle fait partie de votre portage ou
- de votre sélection de paquets, httpd.conf :
Expires: est absent de la
- réponse, Expires: est absent de la
+ réponse, Last-Modified:. Le principe de ce calcul
qui utilise la directive
- Notez qu'il peut s'avérer payant de
- désactiver l'en-tête ETag: :
- pour les fichiers inférieurs à 1 ko, le serveur
- doit calculer la somme de vérification checksum (en
- général MD5) et envoyer une réponse 304 Not
+ Notez qu'il peut s'avérer payant de
+ désactiver l'en-tête ETag: :
+ pour les fichiers inférieurs à 1 ko, le serveur
+ doit calculer la somme de vérification checksum (en
+ général MD5) et envoyer une réponse 304 Not
Modified, ce qui utilise des ressources CPU
- et réseau pour le transfert (1 paquet TCP). Pour les
- ressources supérieures à 1 ko, les ressources CPU
- consommées peuvent devenir importantes car l'en-tête
- est calculé à chaque requête. Malheureusement, il
+ et réseau pour le transfert (1 paquet TCP). Pour les
+ ressources supérieures à 1 ko, les ressources CPU
+ consommées peuvent devenir importantes car l'en-tête
+ est calculé à chaque requête. Malheureusement, il
n'existe actuellement aucun moyen pour mettre en
- cache ces en-têtes.
+ cache ces en-têtes.
- Dans l'exemple précédent: la génération d'un en-tête
- ETag: sera désactivée pour la plupart
- des ressources statiques. Le serveur ne génère pas
- ces en-têtes pour les ressources dynamiques.
+ Dans l'exemple précédent: la génération d'un en-tête
+ ETag: sera désactivée pour la plupart
+ des ressources statiques. Le serveur ne génère pas
+ ces en-têtes pour les ressources dynamiques.
Armés du savoir-faire pour personnaliser un système afin - qu'il affiche les performances désirées, nous découvrirons vite - qu'1 sytème à lui seul peut constituer un goulot - d'étranglement. A ce sujet, la page du Wiki Armés du savoir-faire pour personnaliser un système afin + qu'il affiche les performances désirées, nous découvrirons vite + qu'1 sytème à lui seul peut constituer un goulot + d'étranglement. A ce sujet, la page du Wiki PerformanceScalingOut - décrit comment adapter un système à mesure qu'il prend de - l'ampleur, ou comment personnaliser plusieurs systèmes dans leur + décrit comment adapter un système à mesure qu'il prend de + l'ampleur, ou comment personnaliser plusieurs systèmes dans leur ensemble.
%a du format [%t] [%l] [%a] %M n'est
+ %a du format [%t] [%l] [%a] %MÂ n'est
pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
enregistrés. Il est possible d'échapper les espaces par un anti-slash
afin qu'ils ne soient pas considérés comme séparateurs de champs.
- La combinaison '% ' (pourcentage espace) est un délimiteur de
+ La combinaison '% ' (pourcentage espace) est un délimiteur de
champ de taille nulle qui ne génère aucune sortie.
Ce comportement peut être changé en ajoutant des modificateurs à @@ -1841,7 +1841,7 @@ ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
| Chaîne de format | Description |
|---|---|
| Chaîne de format | Description |
%% |
Le signe pourcentage |
\ (anti-slash espace) |
+ |
\Â (anti-slash espace) |
Espace non délimiteur |
% (pourcentage espace) |
+ |
%Â (pourcentage espace) |
Délimiteur de champ (aucune sortie) |
Cet exemple renverrait un message d'erreur du style :
@@ -1972,7 +1972,7 @@ ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M%Si la configuration d'un répertoire contient
- FileETag INode MTime Size, et si un de
- ses sous-répertoires contient FileETag -INode, la
+ FileETag INode MTime Size, et si un de
+ ses sous-répertoires contient FileETag -INode, la
configuration de ce sous-répertoire (qui sera propagée vers tout
sous-répertoire qui ne la supplante pas), sera équivalente Ã
- FileETag MTime Size.
FileETag MTime Size.
Si Apache httpd traite la requête
- GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1
+ GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1
, l'affichage de la requête par
| Off (défaut) | -GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu | +GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu |
|---|---|---|
| On | -apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1 | +apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1 |
Toutes les directives Apache disponibles dans la distribution standard - d'Apache sont référencées ici. Elles sont décrites en utilisant un - format normalisé, et un dictionnaire des termes utilisés dans leurs + d'Apache sont référencées ici. Elles sont décrites en utilisant un + format normalisé, et un dictionnaire des termes utilisés dans leurs descriptions est disponible.
Un - Document de référence rapide des directives - est également disponible. Il fournit des détails à propos de chaque directive - sous une forme abrégée. + Document de référence rapide des directives + est également disponible. Il fournit des détails à propos de chaque directive + sous une forme abrégée.
Ci-dessous se trouve la liste de tous les modules qui font partie de - la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète + la distribution du serveur HTTP Apache. Voir aussi la liste alphabétique complète de toutes les directives du serveur HTTP Apache.
Ce module possède deux directives. La directive
Cette directive ajoute une action qui va activer script
- cgi lorsque type d'action est déclenché par la
- requête. script cgi est un chemin URL vers une ressource
- qui a été désignée comme script CGI à l'aide des directives
+ cgi lorsque type d'action est déclenché par la
+ requête. script cgi est un chemin URL vers une ressource
+ qui a été désignée comme script CGI à l'aide des directives
PATH_INFO
- et PATH_TRANSLATED. Le gestionnaire utilisé pour cette
- requête particulière est transmis à l'aide de la variable
+ et PATH_TRANSLATED. Le gestionnaire utilisé pour cette
+ requête particulière est transmis à l'aide de la variable
REDIRECT_HANDLER.
Dans cet exemple, les requêtes pour des fichiers possédant
- le type de contenu MIME image/gif seront traitées par
+
Dans cet exemple, les requêtes pour des fichiers possédant
+ le type de contenu MIME image/gif seront traitées par
le script CGI /cgi-bin/images.cgi.
Dans cet exemple, les requêtes pour des fichiers possédant
- l'extension .xyz seront traitées par
+
Dans cet exemple, les requêtes pour des fichiers possédant
+ l'extension .xyz seront traitées par
le script CGI /cgi-bin/programme.cgi.
Le modificateur optionnel virtual permet de
- désactiver la vérification de l'existence du fichier demandé. Ceci
- peut s'avérer utile, par exemple, si vous voulez utiliser la
+ désactiver la vérification de l'existence du fichier demandé. Ceci
+ peut s'avérer utile, par exemple, si vous voulez utiliser la
directive
Cette directive ajoute une action qui va activer script
- cgi lorsqu'un fichier est demandé en utilisant la méthode
- méthode. script cgi est le chemin URL d'une
- ressource qui a été désignée comme script CGI en utilisant les
+ cgi lorsqu'un fichier est demandé en utilisant la méthode
+ méthode. script cgi est le chemin URL d'une
+ ressource qui a été désignée comme script CGI en utilisant les
directives PATH_INFO et
PATH_TRANSLATED.
Script PUT et Script put ont des effets
- totalement différents.
+ totalement différents.
Notez que la commande GET ne
- sera appelé que si la requête possède des arguments (par exemple
- foo.html?hi). Dans le cas contraire, la requête sera traitée
+
Notez que la commande GET ne
+ sera appelé que si la requête possède des arguments (par exemple
+ foo.html?hi). Dans le cas contraire, la requête sera traitée
normalement.
Ce module facilite la définition de la liste des gestionnaires HTTP -qui peuvent être utilisés pour une requête. Voici un exemple de ligne de +
Ce module facilite la définition de la liste des gestionnaires HTTP +qui peuvent être utilisés pour une requête. Voici un exemple de ligne de configuration :
Il implémente aussi un gestionnaire nommé forbidden qui
-ne fait que renvoyer la réponse "403 FORBIDDEN" au client. Ce
-gestionnaire peut être spécifié par des directives comme forbidden qui
+ne fait que renvoyer la réponse "403 FORBIDDEN" au client. Ce
+gestionnaire peut être spécifié par des directives comme
Les noms de gestionnaires sont sensibles à la casse. Le nom réservé
-none peut être utilisé dans le cas où aucun gestionnaire
-n'a été défini. Le nom réservé all, quant à lui, peut être
-utilisé pour autoriser à nouveau tous les gestionnaires dans une section
-de configuration ultérieure, même si certains en-têtes ont été interdits
+
Les noms de gestionnaires sont sensibles à la casse. Le nom réservé
+none peut être utilisé dans le cas où aucun gestionnaire
+n'a été défini. Le nom réservé all, quant à lui, peut être
+utilisé pour autoriser à nouveau tous les gestionnaires dans une section
+de configuration ultérieure, même si certains en-têtes ont été interdits
en aval :
Ce module fournit le gestionnaire send-as-is qui
permet au serveur HTTP Apache d'envoyer le document sans ajouter la plupart des
- en-têtes HTTP habituels.
On peut l'utiliser pour envoyer tous types de données en - provenance du serveur, y compris les redirections et autres réponses - HTTP spéciales, sans devoir faire appel à un script CGI ou nph.
+On peut l'utiliser pour envoyer tous types de données en + provenance du serveur, y compris les redirections et autres réponses + HTTP spéciales, sans devoir faire appel à un script CGI ou nph.
Pour des raisons historiques, ce module traitera aussi tout
fichier dont le type MIME est httpd/send-as-is.
Le contenu de tout fichier possédant l'extension
- .asis sera envoyé par Apache httpd au client pratiquement tel
- quel. En particulier, les en-têtes HTTP seront déduits du fichier
- lui-même selon les règles du module Status: pour déterminer le code de réponse
- HTTP. L'en-tête Content-Length: sera automatiquement
- inséré ou, s'il est déjà présent, corrigé par httpd.
Le contenu de tout fichier possédant l'extension
+ .asis sera envoyé par Apache httpd au client pratiquement tel
+ quel. En particulier, les en-têtes HTTP seront déduits du fichier
+ lui-même selon les règles du module Status: pour déterminer le code de réponse
+ HTTP. L'en-tête Content-Length: sera automatiquement
+ inséré ou, s'il est déjà présent, corrigé par httpd.
Voici un exemple de fichier dont le contenu est envoyé tel - quel pour informer un client qu'un fichier a été déplacé.
+Voici un exemple de fichier dont le contenu est envoyé tel + quel pour informer un client qu'un fichier a été déplacé.
Le serveur ajoute systématiquement les en-têtes
- Date: et Server: aux données qu'il envoie
- au client, si bien qu'ils n'ont pas besoin d'être inclus dans le
- fichier. Le serveur n'ajoute pas d'en-tête
+
Le serveur ajoute systématiquement les en-têtes
+ Date: et Server: aux données qu'il envoie
+ au client, si bien qu'ils n'ont pas besoin d'être inclus dans le
+ fichier. Le serveur n'ajoute pas d'en-tête
Last-Modified, ce qu'il devrait probablement faire.
Ce module permet aux frontaux d'authentification comme
En combinaison avec d'autres méthodes de contrôle d'accès (base - de données), ce module permet d'effectuer un véritable suivi des - utilisateurs et une personnalisation de leurs accès en fonction de - leur profil, tout en conservant l'accessibilité du site aux - utilisateurs 'non enregistrés'. Un avantage du suivi des - utilisateurs basé sur l'authentification réside dans le fait qu'il - est, à l'opposé des cookies magiques et des drôles d'URLs avec - préfixes ou suffixes, entièrement indépendant du navigateur et qu'il + à la manière des sites FTP anonymes, c'est à dire + en fournissant l'identifiant utilisateur spécial 'anonymous' et + l'adresse email comme mot de passe. Ces adresses email peuvent être + journalisées.
+ +En combinaison avec d'autres méthodes de contrôle d'accès (base + de données), ce module permet d'effectuer un véritable suivi des + utilisateurs et une personnalisation de leurs accès en fonction de + leur profil, tout en conservant l'accessibilité du site aux + utilisateurs 'non enregistrés'. Un avantage du suivi des + utilisateurs basé sur l'authentification réside dans le fait qu'il + est, à l'opposé des cookies magiques et des drôles d'URLs avec + préfixes ou suffixes, entièrement indépendant du navigateur et qu'il permet de partager des URLs entre plusieurs utilisateurs.
Si l'on utilise le module anon à la directive anon à la directive
L'exemple ci-dessous présente un exemple de combinaison avec - l'authentification à base de fichier htpasswd "normale", et permet - la connexion d'utilisateurs en tant qu'invités avec les propriétés +
L'exemple ci-dessous présente un exemple de combinaison avec + l'authentification à base de fichier htpasswd "normale", et permet + la connexion d'utilisateurs en tant qu'invités avec les propriétés suivantes :
anonymous, guest, www, test ou welcome, et la
- vérification n'est pas sensible à la casse.
+ vérification n'est pas sensible à la casse.
(Une liste d'un ou plusieurs identifiants utilisateur spéciaux - autorisés à accéder sans vérification du mot de passe. Les - identifiants doivent être séparés par un espace. Pour spécifier un +
Une liste d'un ou plusieurs identifiants utilisateur spéciaux + autorisés à accéder sans vérification du mot de passe. Les + identifiants doivent être séparés par un espace. Pour spécifier un identifiant contenant un espace, on peut utiliser les guillemets ' - ou ", ou le caractère d'échappement \.
+ ou ", ou le caractère d'échappement \. -Veuillez noter que la vérification n'est pas sensible à
+ Veuillez noter que la vérification n'est pas sensible Ã
la casse.
- Il est fortement conseillé d'intégrer l'utilisateur spécial
+ Il est fortement conseillé d'intégrer l'utilisateur spécial
'anonymous' dans la liste des identifiants.
Dans cet exemple, l'utilisateur peut accéder au site sans - vérification du mot de passe en utilisant l'identifiant "anonymous", +
Dans cet exemple, l'utilisateur peut accéder au site sans + vérification du mot de passe en utilisant l'identifiant "anonymous", "Not Registered", "I Don't Know" ou encore "AnonyMous".
Depuis Apache 2.1, il est possible de remplacer la liste des
- identifiants autorisés par le caractère "*", ce qui
+ identifiants autorisés par le caractère "*", ce qui
permet d'utiliser n'importe quel identifiant pour pouvoir
- accéder au site.
Lorsque cette directive est définie à On, valeur
- par défaut, le 'mot de passe' fourni (censé contenir une adresse
- email valide) est enregistré dans le journal des erreurs.
Lorsque cette directive est définie à On, valeur
+ par défaut, le 'mot de passe' fourni (censé contenir une adresse
+ email valide) est enregistré dans le journal des erreurs.
Détermine si l'utilisateur doit spécifier une adresse email comme
- mot de passe. Lorsque cette directive est définie à On,
+
Détermine si l'utilisateur doit spécifier une adresse email comme
+ mot de passe. Lorsque cette directive est définie à On,
fournir un mot de passe est obligatoire.
Lorsque cette directive est définie à On, les
- utilisateurs peuvent laisser le champ identifiant vide (et peut-être
- aussi le champ mot de passe selon la définition de la directive
+
Lorsque cette directive est définie à On, les
+ utilisateurs peuvent laisser le champ identifiant vide (et peut-être
+ aussi le champ mot de passe selon la définition de la directive
Lorsque cette directive est définie à On, Apache
- vérifie que le 'mot de passe' entré contient au moins un '@' et un
- '.' afin d'inciter les utilisateurs à fournir des adresses email
+
Lorsque cette directive est définie à On, Apache
+ vérifie que le 'mot de passe' entré contient au moins un '@' et un
+ '.' afin d'inciter les utilisateurs à fournir des adresses email
valides (voir ci-dessus la directive
Lorsqu'on utilise file à la directive file à la directive
La directive
Chaque ligne du fichier des utilisateurs se compose du nom de
- l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le
- même identifiant utilisateur est référencé plusieurs fois,
-
Le format du mot de passe chiffré dépend du frontal - d'authentification utilisé (par exemple +
Le format du mot de passe chiffré dépend du frontal
+ d'authentification utilisé (par exemple
Pour src/support de l'arborescence des sources. Voir sa page de manuel pour plus de
- détails. En bref :
On crée un fichier de mots de passe nom-fichier avec
+
On crée un fichier de mots de passe nom-fichier avec
nom-utilisateur comme identifiant initial. Le mot de
- passe correspondant sera alors demandé :
Noter qu'une recherche dans de grands fichiers texte peut être - très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM +
Noter qu'une recherche dans de grands fichiers texte peut être
+ très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM
avec la directive
Pour
Assurez-vous que le fichier
Ce module permet aux applications d'autorisation FastCGI - d'authentifier les utilisateurs et de contrôler leur accès aux - ressources. Il supporte les systèmes d'autorisation FastCGI - génériques qui participent en une seule phase à l'authentification - et à l'autorisation, ainsi que les processus d'authentification et - d'autorisation spécifiques à Apache httpd qui interviennent en une + d'authentifier les utilisateurs et de contrôler leur accès aux + ressources. Il supporte les systèmes d'autorisation FastCGI + génériques qui participent en une seule phase à l'authentification + et à l'autorisation, ainsi que les processus d'authentification et + d'autorisation spécifiques à Apache httpd qui interviennent en une ou plusieurs phases.
Les processus d'autorisation FastCGI peuvent authentifier un utilisateur via son identificateur et son mot de passe comme dans le - processus d'authentification basique, ou via un mécanisme + processus d'authentification basique, ou via un mécanisme arbitraire.
Les modes d'invocation des processus d'autorisation FastCGI que - ce module supporte se distinguent par deux caractéristiques : le - type et le mécanisme d'authentification.
+ ce module supporte se distinguent par deux caractéristiques : le + type et le mécanisme d'authentification.Le Type est simplement authn pour
l'authentification, authz pour l'autorisation et
authnz l'authentification et l'autorisation.
Le mécanisme d'authentification fait référence aux - mécanismes d'authentification et aux phases de traitement de la - configuration de Apache httpd, et peut être +
Le mécanisme d'authentification fait référence aux
+ mécanismes d'authentification et aux phases de traitement de la
+ configuration de Apache httpd, et peut être
AuthBasicProvider, Require, ou
- check_user_id. Les deux premiers mécanismes
- correspondent aux directives utilisées pour participer aux phases de
- traitement appropriées.
check_user_id. Les deux premiers mécanismes
+ correspondent aux directives utilisées pour participer aux phases de
+ traitement appropriées.
Description de chaque mode:
@@ -78,15 +78,15 @@ contrôle d'accèsauthn, mechanism
AuthBasicProviderFCGI_ROLE est définie à
+ FCGI_ROLE est définie Ã
AUTHORIZER, et la variable
- FCGI_APACHE_ROLE à AUTHENTICATOR.
- L'application doit être spécifiée en tant que fournisseur de type
+ FCGI_APACHE_ROLE Ã AUTHENTICATOR.
+ L'application doit être spécifiée en tant que fournisseur de type
authn via la directive authz, mechanism
RequireFCGI_ROLE est définie à
- AUTHORIZER et FCGI_APACHE_ROLE à
- AUTHORIZER. L'application doit être spécifiée en tant
+ FCGI_ROLE est définie Ã
+ AUTHORIZER et FCGI_APACHE_ROLE Ã
+ AUTHORIZER. L'application doit être spécifiée en tant
que fournisseur de type authz via la directive FCGI_ROLE est
- définie à AUTHORIZER et FCGI_APACHE_ROLE
- n'est pas définie. L'application doit être spécifiée en tant que
+ définie à AUTHORIZER et FCGI_APACHE_ROLE
+ n'est pas définie. L'application doit être spécifiée en tant que
fournisseur de type authnz via la directive authn, mechanism
check_user_idFCGI_ROLE est définie à
- AUTHORIZER et FCGI_APACHE_ROLE à
- AUTHENTICATOR. L'application doit être spécifiée en
+ FCGI_ROLE est définie Ã
+ AUTHORIZER et FCGI_APACHE_ROLE Ã
+ AUTHENTICATOR. L'application doit être spécifiée en
tant que fournisseur de type authn via une directive
AUTHENTICATOR et
- AUTHORIZER), vous pouvez définir des fournisseurs
- séparés comme suit, même s'ils correspondent à la même application :
+ AUTHORIZER), vous pouvez définir des fournisseurs
+ séparés comme suit, même s'ils correspondent à la même application :
AUTHORIZER (authentification et autorisation en une
- seule invocation), vous pouvez définir un fournisseur unique comme
+ seule invocation), vous pouvez définir un fournisseur unique comme
suit :
Les fonctionnalités suivantes ne sont pas encore implémentées :
+Les fonctionnalités suivantes ne sont pas encore implémentées :
FCGI_APACHE_ROLE
- est définie à ACCESS_CHECKER.ACCESS_CHECKER.
error ou supérieur.error ou supérieur.warn.debug.trace2. La valeur de la
- variable REMOTE_PASSWD sera occultée, mais
- toute autre donnée sensible sera visible dans le
+ debug.trace2. La valeur de la
+ variable REMOTE_PASSWD sera occultée, mais
+ toute autre donnée sensible sera visible dans le
journal.trace5. Toutes les données sensibles seront
+ journalisées au format imprimable et hexadécimal au niveau
+ trace5. Toutes les données sensibles seront
visibles dans le journal.La directive
Cette directive permet de définir une application FastCGI en tant - que fournisseur pour une phase particulière d'authentification ou +
Cette directive permet de définir une application FastCGI en tant + que fournisseur pour une phase particulière d'authentification ou d'autorisation.
None
option ...Cette directive permet de confier à une application FastCGI la - gestion d'une phase spécifique du processus d'authentification ou +
Cette directive permet de confier à une application FastCGI la + gestion d'une phase spécifique du processus d'authentification ou d'autorisation.
-Certaines fonctionnalités des fournisseurs d'autorisation FastCGI
- nécessitent cette directive en lieu et place de
-
Certaines fonctionnalités des fournisseurs d'autorisation FastCGI
+ nécessitent cette directive en lieu et place de
+
UserExpr ci-dessousNoneNone pour désactiver un fournisseur
- activé avec cette même directive dans une autre portée, par
- exemple dans un répertoire parent.None pour désactiver un fournisseur
+ activé avec cette même directive dans une autre portée, par
+ exemple dans un répertoire parent.UserExpr est défini et correspond à une chaîne
+ si UserExpr est défini et correspond à une chaîne
vide, (par exemple, si le fournisseur d'autorisation ne renvoie
- aucune variable), c'est cette valeur qui sera utilisée comme id
- utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans
- un contexte d'invité, ou d'utilisateur non authentifié ;
- les utilisateurs et invités se voient alors attribué un id
- utilisateur spécifique qui permettra de se connecter et
- d'accéder à certaines ressources.Variable-XXX renvoyée par le
+ et si le fournisseur d'autorisation détermine l'id utilisateur,
+ cette expression, évaluée après l'appel au fournisseur
+ d'autorisation, permet de déterminer l'id utilisateur. Cette
+ expression se conforme à la syntaxe
+ ap_expr et doit correspondre à une chaîne de caractères.
+ Une utilisation courante consiste à référencer la définition
+ d'une Variable-XXX renvoyée par le
fournisseur d'autorisation via une option du style
UserExpr "%{reqenv:XXX}". Si cette option
- est spécifiée, et si l'id utilisateur ne peut pas être définie
- via l'expression après une authentification réussie, la requête
- sera rejetée avec un code d'erreur 500.Ce module permet de contrôler l'accès aux fichiers en comparant - l'identifiant utilisateur ayant servi à l'authentification HTTP - (l'identifiant utilisateur web) avec le propriétaire ou le groupe - du fichier demandé du point de vue du système de fichiers. Le nom - d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par +
Ce module permet de contrôler l'accès aux fichiers en comparant
+ l'identifiant utilisateur ayant servi à l'authentification HTTP
+ (l'identifiant utilisateur web) avec le propriétaire ou le groupe
+ du fichier demandé du point de vue du système de fichiers. Le nom
+ d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par
un module d'authentification comme file-owner et file-group :
file-ownerjones comme
- propriétaire du fichier demandé, le nom d'utilisateur fourni pour
- l'authentification HTTP doit aussi être jones.jones comme
+ propriétaire du fichier demandé, le nom d'utilisateur fourni pour
+ l'authentification HTTP doit aussi être jones.file-groupaccounts, le groupe accounts
- doit apparaître dans la base de données des groupes, et le nom
- d'utilisateur web utilisé pour l'authentification doit être un
+ pour l'authentification doit être un membre de ce groupe. Par
+ exemple, si le système indique que le groupe (système) du fichier
+ demandé est accounts, le groupe accounts
+ doit apparaître dans la base de données des groupes, et le nom
+ d'utilisateur web utilisé pour l'authentification doit être un
membre de ce groupe.Si le module
Si le module
En particulier, il n'accordera jamais l'accès à une ressource +
En particulier, il n'accordera jamais l'accès à une ressource du type "Vues - multiples" (MultiViews) d'un contenu négocié.
+ multiples" (MultiViews) d'un contenu négocié.Considérons un serveur Web Apache fonctionnant sous un système
- multi-utilisateurs, où les fichiers de chaque utilisateur sont
- stockés dans ~/public_html/private. En supposant
- qu'il n'existe qu'une seule base de données contenant les noms
+
Considérons un serveur Web Apache fonctionnant sous un système
+ multi-utilisateurs, où les fichiers de chaque utilisateur sont
+ stockés dans ~/public_html/private. En supposant
+ qu'il n'existe qu'une seule base de données contenant les noms
d'utilisateurs web, et que ces noms d'utilisateurs correspondent
- aux noms d'utilisateurs système qui sont les propriétaires
+ aux noms d'utilisateurs système qui sont les propriétaires
effectifs des fichiers, la configuration de l'exemple suivant
- n'accordera l'autorisation d'accès aux fichiers qu'à leur
- propriétaire. L'utilisateur jones ne sera pas
- autorisé à accéder aux fichiers situés dans
- /home/smith/public_html/private, à moins que leur
- propriétaire ne soit jones au lieu de
+ n'accordera l'autorisation d'accès aux fichiers qu'à leur
+ propriétaire. L'utilisateur jones ne sera pas
+ autorisé à accéder aux fichiers situés dans
+ /home/smith/public_html/private, Ã moins que leur
+ propriétaire ne soit jones au lieu de
smith.
Considérons un système similaire à celui décrit ci-dessus, mais
- où certains utilisateurs partagent leurs fichiers de projets dans
- ~/public_html/project-foo. Le groupe système des
+
Considérons un système similaire à celui décrit ci-dessus, mais
+ où certains utilisateurs partagent leurs fichiers de projets dans
+ ~/public_html/project-foo. Le groupe système des
fichiers est foo, et il n'existe qu'une seule base de
- données foo. En d'autres termes, si jones
et smith sont tous deux membres du groupe
- foo, ils seront autorisés à accéder aux
- répertoires project-foo de chacun d'entre eux.
foo, ils seront autorisés à accéder aux
+ répertoires project-foo de chacun d'entre eux.
Ce module permet d'accorder ou de refuser l'accès à certaines
- zones du site web aux utilisateurs authentifiés.
-
Ce module permet d'accorder ou de refuser l'accès à certaines
+ zones du site web aux utilisateurs authentifiés.
+ Require user. On peut aussi utiliser la directive
- Require valid-user pour accorder l'accès à tous les
- utilisateurs qui ont été authentifiés avec succès.
Require valid-user pour accorder l'accès à tous les
+ utilisateurs qui ont été authentifiés avec succès.
Les directives user et valid-user.
Cette directive permet de spécifier une liste d'utilisateurs - autorisés à accéder à la ressource.
+Cette directive permet de spécifier une liste d'utilisateurs + autorisés à accéder à la ressource.
Lorsque cette directive est définie, tout utilisateur qui s'est - authentifié avec succès aura l'autorisation d'accès à la ressource.
+Lorsque cette directive est définie, tout utilisateur qui s'est + authentifié avec succès aura l'autorisation d'accès à la ressource.
Ce module fournit la possibilité de mettre en tampon les piles - des filtres en entrée et sortie.
+Ce module fournit la possibilité de mettre en tampon les piles + des filtres en entrée et sortie.
-Dans certaines situations, les générateurs de contenu créent des - contenus composés de petits tronçons. Afin de permettre la - réutilisation de la mémoire, les éléments de mémoire attribués aux - tronçons ont toujours une taille de 8k, quelle que soit la taille du - tronçon lui-même. Lorsqu'une requête génère de nombreux petits - tronçons, une grande quantité de mémoire peut être mobilisée par le - traitement de la requête, et une grande quantité de données - transmises sans nécessité. Pour y remédier, l'utilisation d'un - tampon rassemble la réponse en un nombre de tronçons le plus petit +
Dans certaines situations, les générateurs de contenu créent des + contenus composés de petits tronçons. Afin de permettre la + réutilisation de la mémoire, les éléments de mémoire attribués aux + tronçons ont toujours une taille de 8k, quelle que soit la taille du + tronçon lui-même. Lorsqu'une requête génère de nombreux petits + tronçons, une grande quantité de mémoire peut être mobilisée par le + traitement de la requête, et une grande quantité de données + transmises sans nécessité. Pour y remédier, l'utilisation d'un + tampon rassemble la réponse en un nombre de tronçons le plus petit possible.
-Lorsque httpd est utilisé comme frontal d'un générateur de +
Lorsque httpd est utilisé comme frontal d'un générateur de contenu consommant beaucoup de ressources, la mise en tampon de la - réponse peut permettre à ce dernier d'effectuer le traitement et de - libérer les ressources plus ou moins rapidement, en fonction de la - manière dont il a été conçu.
+ réponse peut permettre à ce dernier d'effectuer le traitement et de + libérer les ressources plus ou moins rapidement, en fonction de la + manière dont il a été conçu. -Le filtre de mise en tampon peut être ajouté aux piles des - filtres en entrée ou en sortie, selon les besoins, à l'aide des +
Le filtre de mise en tampon peut être ajouté aux piles des
+ filtres en entrée ou en sortie, selon les besoins, à l'aide des
directives
La directive
Les en-têtes et corps des réponses mises en cache sont stockés - séparément sur le disque, dans une structure de répertoires basée - sur le condensé md5 de l'URL mise en cache.
+Les en-têtes et corps des réponses mises en cache sont stockés + séparément sur le disque, dans une structure de répertoires basée + sur le condensé md5 de l'URL mise en cache.
-Plusieurs réponses au contenu négocié peuvent être stockées en - même temps, mais la mise en cache de contenus partiels n'est pas - supportée actuellement par ce module.
+Plusieurs réponses au contenu négocié peuvent être stockées en + même temps, mais la mise en cache de contenus partiels n'est pas + supportée actuellement par ce module.
-Les mises à jour atomiques du cache pour les fichiers d'en-tête - et de corps peuvent être effectuées sans verrouillage en - enregistrant les numéros d'inode et de périphérique du fichier de - corps dans le fichier d'en-tête. Ceci implique que les entrées du - cache déplacées manuellement dans le cache seront ignorées.
+Les mises à jour atomiques du cache pour les fichiers d'en-tête + et de corps peuvent être effectuées sans verrouillage en + enregistrant les numéros d'inode et de périphérique du fichier de + corps dans le fichier d'en-tête. Ceci implique que les entrées du + cache déplacées manuellement dans le cache seront ignorées.
L'utilitaire
Lorsque la plate-forme la supporte, et si elle est activée via la +
Lorsque la plate-forme la supporte, et si elle est activée via la
directive
La directive
La directive
La directive
Une valeur haute pour
La valeur du produit
la directive
Une valeur haute pour
La valeur du produit
La directive
La directive
La directive
Cette directive ne prend effet que lorsque les données sont - enregistrées dans le cache, et non lorsque les données sont servies à +
Cette directive ne prend effet que lorsque les données sont + enregistrées dans le cache, et non lorsque les données sont servies à partir du cache.
La directive
La valeur par défaut zéro désactive cette option.
+La valeur par défaut zéro désactive cette option.
-Cette directive ne prend effet que lorsque les données sont - enregistrées dans le cache, et non lorsque les données sont servies à - partir du cache. Il est recommandé d'harmoniser l'utilisation de cette +
Cette directive ne prend effet que lorsque les données sont
+ enregistrées dans le cache, et non lorsque les données sont servies Ã
+ partir du cache. Il est recommandé d'harmoniser l'utilisation de cette
directive avec celle de la directive
Il s'agit d'une émulation de la sémantique des métafichiers du - serveur httpd du CERN. Les métafichiers sont des en-têtes HTTP - qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque - fichier accédé. Ils ressemblent beaucoup aux fichiers .asis - d'Apache, et permettent d'influencer de manière rudimentaire - l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de - nombreuses méthodes pour gérer les métainformations, mais le choix - s'est porté sur celle-ci car il existe déjà un grand nombre +
Il s'agit d'une émulation de la sémantique des métafichiers du + serveur httpd du CERN. Les métafichiers sont des en-têtes HTTP + qui peuvent s'ajouter au jeu d'en-têtes habituels pour chaque + fichier accédé. Ils ressemblent beaucoup aux fichiers .asis + d'Apache, et permettent d'influencer de manière rudimentaire + l'en-tête Expires:, ainsi que d'autres curiosités. Il existe de + nombreuses méthodes pour gérer les métainformations, mais le choix + s'est porté sur celle-ci car il existe déjà un grand nombre d'utilisateurs du CERN qui peuvent exploiter ce module.
Pour plus d'information, voir le document sur la sémantique des métafichiers du CERN.
+ >sémantique des métafichiers du CERN.Active ou désactive le traitement des métafichiers pour certains - répertoires.
+Active ou désactive le traitement des métafichiers pour certains + répertoires.
Spécifie le nom du répertoire dans lequel Apache pourra trouver
- les fichiers de métainformations. Ce répertoire est en général un
- sous-répertoire 'caché' du répertoire qui contient le fichier à
- accéder. Définissez cette directive à "." pour
- rechercher les métafichiers dans le même répertoire que le fichier à
- accéder :
Spécifie le nom du répertoire dans lequel Apache pourra trouver
+ les fichiers de métainformations. Ce répertoire est en général un
+ sous-répertoire 'caché' du répertoire qui contient le fichier Ã
+ accéder. Définissez cette directive à "." pour
+ rechercher les métafichiers dans le même répertoire que le fichier Ã
+ accéder :
Ou, pour rechercher dans un sous-répertoire du répertoire - contenant le fichier à accéder :
+Ou, pour rechercher dans un sous-répertoire du répertoire + contenant le fichier à accéder :
Spécifie le suffixe du fichier contenant les métainformations. - Par exemple, si on conserve les valeurs par défaut des deux - directives précédentes, une requête pour +
Spécifie le suffixe du fichier contenant les métainformations.
+ Par exemple, si on conserve les valeurs par défaut des deux
+ directives précédentes, une requête pour
DOCUMENT_ROOT/un-rep/index.html provoquera la recherche
- du métafichier
+ du métafichier
DOCUMENT_ROOT/un-rep/.web/index.html.meta, et utilisera
- son contenu pour générer les informations quant aux en-têtes MIME
+ son contenu pour générer les informations quant aux en-têtes MIME
additionnels.
Le module
Ce module fournit quelques procédés de configuration implémentés +
Ce module fournit quelques procédés de configuration implémentés
par Apache version russe, ainsi que son module
- mod_charset associé.
mod_charset associé.
Les noms des jeux de caractères passés en paramètres aux +
Les noms des jeux de caractères passés en paramètres aux
directives
Si les règles de traduction ne peuvent s'appliquer au contenu, - la traduction peut échouer avec des conséquences diverses, comme +
Si les règles de traduction ne peuvent s'appliquer au contenu, + la traduction peut échouer avec des conséquences diverses, comme :
La directive
La valeur de l'argument jeu de caractères doit être
- un nom de jeu de caractères valide du point de vue du support des
- jeux de caractères dans
La valeur de l'argument jeu de caractères doit être
+ un nom de jeu de caractères valide du point de vue du support des
+ jeux de caractères dans
Les noms de jeux de caractères de cet exemple sont reconnus par - le mécanisme de traduction d'iconv sous Solaris 8.
+Les noms de jeux de caractères de cet exemple sont reconnus par + le mécanisme de traduction d'iconv sous Solaris 8.
La directive
La valeur de l'argument jeu de caractères doit être
- un nom de jeu de caractères valide du point de vue du support des
- jeux de caractères dans
La valeur de l'argument jeu de caractères doit être
+ un nom de jeu de caractères valide du point de vue du support des
+ jeux de caractères dans
La directive
ImplicitAdd | NoImplicitAddImplicitAdd indique que
- ImplicitAdd indique que
+ NoImplicitAdd doit être utilisée afin que
+ NoImplicitAdd doit être utilisée afin que
TranslateAllMimeTypes | NoTranslateAllMimeTypesTranslateAllMimeTypes est utilisée pour une section
- de configuration donnée, la traduction est effectuée sans se
- préoccuper du type MIME.TranslateAllMimeTypes est utilisée pour une section
+ de configuration donnée, la traduction est effectuée sans se
+ préoccuper du type MIME.
Ce module permet de chiffrer et déchiffrer les données au - niveau des piles de filtrage en entrée et en sortie.
+Ce module permet de chiffrer et déchiffrer les données au + niveau des piles de filtrage en entrée et en sortie.
-En particulier, il permet d'effectuer un chiffrement HLS à la - volée comme décrit dans le document En particulier, il permet d'effectuer un chiffrement HLS à la + volée comme décrit dans le document draft-pantos-http-live-streaming-19.
-Mais il peut aussi assurer la livraison sécurisée de données via un CDN - non sécurisé aux clients qui le supportent.
+Mais il peut aussi assurer la livraison sécurisée de données via un CDN + non sécurisé aux clients qui le supportent.
-Selon les besoins, on peut ajouter le filtre crypto à la pile de filtrage
- en entrée ou en sortie via les directives Le flux de données chiffrées comporte un bloc IV optionnel suivi des
- données chiffrées avec l'algorithme de chiffrement choisi. Le bloc final est
- éventuellement complété par bourrage avant d'être écrit. La taille des blocs
- est déterminée par l'algorithme de chiffrement choisi. Le flux de données chiffrées comporte un bloc IV optionnel suivi des
+ données chiffrées avec l'algorithme de chiffrement choisi. Le bloc final est
+ éventuellement complété par bourrage avant d'être écrit. La taille des blocs
+ est déterminée par l'algorithme de chiffrement choisi. Lorsque le bloc IV est spécifié via la directive Lorsque le bloc IV est spécifié via la directive Les directives Si le IV n'est pas spécifié, un IV aléatoire sera généré au cours du
- chiffrement et écrit comme premier bloc. Lors du déchiffrement, le premier
- bloc sera interprété en tant que IV.
+ Si le IV n'est pas spécifié, un IV aléatoire sera généré au cours du
+ chiffrement et écrit comme premier bloc. Lors du déchiffrement, le premier
+ bloc sera interprété en tant que IV.
A l'exception du format file:, les directives Le gestionnaire crypto-key permet de fournir la clé aux
- clients autorisés qui le supportent sans avoir à stocker cette dernière dans
- l'arborescence du serveur web. La même syntaxe
- d'expression peut ainsi être utilisée afin d'obtenir la clé pour les
- clients et pour le contenu chiffré. Le gestionnaire crypto-key permet de fournir la clé aux
+ clients autorisés qui le supportent sans avoir à stocker cette dernière dans
+ l'arborescence du serveur web. La même syntaxe
+ d'expression peut ainsi être utilisée afin d'obtenir la clé pour les
+ clients et pour le contenu chiffré. Le protocole HLS supporte les flux chiffrés qui utilisent l'algorithme de
- chiffrement AES-128 et une clé correspondante. On autorise l'accès au flux
- en partageant la clé avec le client HLS en général via une connexion
- sécurisée. Le protocole HLS supporte les flux chiffrés qui utilisent l'algorithme de
+ chiffrement AES-128 et une clé correspondante. On autorise l'accès au flux
+ en partageant la clé avec le client HLS en général via une connexion
+ sécurisée. Le IV utilisé pour le chiffrement de chaque segment de media est spécifié
- dans HLS de deux manières : Le IV utilisé pour le chiffrement de chaque segment de media est spécifié
+ dans HLS de deux manières : La valeur de la séquence de media est en générale incorporée dans les
- noms de segment de média et peut être recherchée en utilisant des
- expressions rationnelles nommées comme dans l'exemple ci-dessous.
+ La valeur de la séquence de media est en générale incorporée dans les
+ noms de segment de média et peut être recherchée en utilisant des
+ expressions rationnelles nommées comme dans l'exemple ci-dessous.
La directive
-
-
@@ -130,31 +130,31 @@
-
@@ -169,7 +169,7 @@
La directive
La directive aes256.
C'est le pilote crypto utilisé qui détermine l'étendue du choix des algorithmes de +
C'est le pilote crypto utilisé qui détermine l'étendue du choix des algorithmes de chiffrement parmi les valeurs possibles suivantes :
La directive
Les valeurs possibles peuvent être lues depuis un fichier ou exprimées - sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes +
La directive
Les valeurs possibles peuvent être lues depuis un fichier ou exprimées + sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes suivants :
La valeur 'none' désactive la définition du IV. Dans ce cas, un IV - aléatoire sera généré durant le chiffrement et inséré en tant que premier - bloc ; au cours du déchiffrement, le premier bloc sera interprété comme bloc +
La valeur 'none' désactive la définition du IV. Dans ce cas, un IV + aléatoire sera généré durant le chiffrement et inséré en tant que premier + bloc ; au cours du déchiffrement, le premier bloc sera interprété comme bloc IV.
La directive
Les valeurs possibles peuvent être lues depuis un fichier ou exprimées - sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes +
La directive
Les valeurs possibles peuvent être lues depuis un fichier ou exprimées + sous une forme hexadécimale, décimale ou en base64 en fonction des préfixes suivants :
La valeur 'none' désactive la clé. Toute requête pour obtenir sans clé un fichier - via les filtres ENCRYPT ou DECRYPT se soldera alors par un échec.
+La valeur 'none' désactive la clé. Toute requête pour obtenir sans clé un fichier + via les filtres ENCRYPT ou DECRYPT se soldera alors par un échec.
La directive
Ce module permet de convertir une réponse en URL de type données
+ Ce module permet de convertir une réponse en URL de type données
RFC2397.
Les URLs de type données peuvent être incluses en ligne dans les
+ Les URLs de type données peuvent être incluses en ligne dans les
pages web via le module
Le filtre n'accepte aucun paramètre, et peut être ajouté à la +
Le filtre n'accepte aucun paramètre, et peut être ajouté à la
pile des filtres via la directive
ce module implémente une API de verrouillage générique que tout +
ce module implémente une API de verrouillage générique que tout
fournisseur support de
Notez que
Pour que
Pour déterminer le pointeur de la fonction du fournisseur de
+ Pour déterminer le pointeur de la fonction du fournisseur de
verrouillage, vous devez utiliser l'API
La directive La directive ap_lookup_provider avec les arguments
dav-lock, generic et 0.
Les utilisateur et groupe sous lesquels Apache s'exécute et qui
- sont respectivement définis par les directives L'enregistrement des données s'effectue juste après
- le décodage SSL (pour les entrées), et juste avant le codage SSL (pour les
- sorties). Comme on peut s'y attendre, tout ceci peut représenter un
- volume important de données, et ne doit être
- utilisé qu'à des fins de débogage. L'enregistrement des données s'effectue juste après
+ le décodage SSL (pour les entrées), et juste avant le codage SSL (pour les
+ sorties). Comme on peut s'y attendre, tout ceci peut représenter un
+ volume important de données, et ne doit être
+ utilisé qu'à des fins de débogage. Pour activer le module, ce dernier doit être compilé et chargé
- par l'intermédiaire de la configuration de votre instance d'Apache.
- La journalisation peut ensuite être activée ou
- désactivée séparément
- pour les entrées et sorties à l'aide des directives ci-dessous. En
- outre, Active la journalisation de toutes les entrées. Active la journalisation de toutes les entrées. Ce module est un module de protocole exemple permettant d'en
- illustrer le concept. Il fournit un simple serveur d'écho. Envoyez
+ illustrer le concept. Il fournit un simple serveur d'écho. Envoyez
lui une phrase par telnet, et il vous la renverra. La directive var/, lui-même sous-répertoire du répertoire défini par
+ module="mod_unixd">Groupvar/, lui-même sous-répertoire du répertoire défini par
la directive DavLock suivi d'une extension choisie par le
diff --git a/docs/manual/mod/mod_dumpio.xml.fr b/docs/manual/mod/mod_dumpio.xml.fr
index 75463c15c8..6f7feb8484 100644
--- a/docs/manual/mod/mod_dumpio.xml.fr
+++ b/docs/manual/mod/mod_dumpio.xml.fr
@@ -25,34 +25,34 @@
mod_dumpio permet d'enregistrer toutes les entrées
- reçues par Apache et/ou toutes les sorties envoyées par ce dernier
+ mod_dumpio permet d'enregistrer toutes les entrées
+ reçues par Apache et/ou toutes les sorties envoyées par ce dernier
dans le fichier error.log.
trace7 :
Ce module permet de contrôler les variables d'environnement - internes utilisées par divers modules du serveur HTTP Apache. Ces +
Ce module permet de contrôler les variables d'environnement
+ internes utilisées par divers modules du serveur HTTP Apache. Ces
variables sont aussi accessibles aux scripts CGI en tant que
- variables d'environnement système natives, et disponibles dans les
+ variables d'environnement système natives, et disponibles dans les
pages SSI. Les variables d'environnement peuvent
- être transmises depuis le shell qui a lancé le processus
-
Cette directive permet de spécifier quelles variables - d'environnement système natives doivent être disponibles en tant que +
Cette directive permet de spécifier quelles variables
+ d'environnement système natives doivent être disponibles en tant que
variables d'environnement internes pour les modules du serveur HTTP
- Apache, et propagées vers les scripts CGI et les pages SSI. Leurs
- valeurs sont issues de l'environnement natif de l'OS associé au
- shell qui a invoqué le processus
Définit une variable d'environnement interne, cette dernière étant +
Définit une variable d'environnement interne, cette dernière étant ensuite disponible pour les modules du serveur HTTP Apache et transmise aux scripts CGI et aux pages SSI.
@@ -89,17 +89,17 @@ shellSi l'argument valeur est absent, la variable est - définie à la valeur d'une chaîne vide.
+ définie à la valeur d'une chaîne vide. -Les variables d'environnement internes définies par cette
- directive le sont après l'exécution de la plupart des
- directives du traitement initial des requêtes, comme les contrôles
- d'accès et la mise en correspondance des URIs avec les noms de
- fichiers. Si la variable d'environnement est sensée intervenir au
+ Les variables d'environnement internes définies par cette
+ directive le sont après l'exécution de la plupart des
+ directives du traitement initial des requêtes, comme les contrôles
+ d'accès et la mise en correspondance des URIs avec les noms de
+ fichiers. Si la variable d'environnement est sensée intervenir au
cours de cette phase initiale du traitement, par exemple pour la
directive Ce module permet de contrôler la définition de l'en-tête HTTP
+ Ce module permet de contrôler la définition de l'en-tête HTTP
Ces en-têtes HTTP permettent d'informer le client quant à la
- validité et à la persistence du document. S'il est présent dans le
- cache, et tant qu'il n'est pas arrivé à expiration, le document sera
- servi à partir de ce dernier, plutôt qu'à partir du document source.
- Après expiration, la copie du document dans le cache sera considérée
- comme "expirée" et donc invalide, et une nouvelle copie devra être
- obtenue à partir du document source. Pour modifier les directives de contrôle du cache autres
+ l'en-tête HTTP Ces en-têtes HTTP permettent d'informer le client quant à la
+ validité et à la persistence du document. S'il est présent dans le
+ cache, et tant qu'il n'est pas arrivé à expiration, le document sera
+ servi à partir de ce dernier, plutôt qu'à partir du document source.
+ Après expiration, la copie du document dans le cache sera considérée
+ comme "expirée" et donc invalide, et une nouvelle copie devra être
+ obtenue à partir du document source. Pour modifier les directives de contrôle du cache autres
que Lorsque l'en-tête Lorsque l'en-tête Pour une syntaxe plus lisible, on peut aussi utiliser les
directives Expires et
-Cache-Control en fonction de critères spécifiés par
+Expires et
+Cache-Control en fonction de critères spécifiés par
l'utilisateurExpires et la directive max-age de
- l'en-tête HTTP Cache-Control dans les réponses du
- serveur. La date d'expiration peut être définie soit par rapport à
- la date de dernière modification du fichier source, soit
- par rapport à l'heure d'accès du client.Cache-Control dans les réponses du
+ serveur. La date d'expiration peut être définie soit par rapport Ã
+ la date de dernière modification du fichier source, soit
+ par rapport à l'heure d'accès du client.max-age (voir la RFC
2616 section 14.9), vous pouvez utiliser la directive Expires est déjà présent dans la
- réponse générée par le serveur, par exemple s'il a été créé par un
+ Expires est déjà présent dans la
+ réponse générée par le serveur, par exemple s'il a été créé par un
script CGI ou un serveur original via un serveur mandataire, ce
- module n'ajoute aucun en-tête Expires ou
+ module n'ajoute aucun en-tête Expires ou
Cache-Control.
où base peut être :
+où base peut être :
accessnow (équivalent à
+ now (équivalent Ã
'access')modificationLe mot-clé plus est optionnel. num doit
- correspondre à une valeur entière [compatible avec
- atoi()], et type peut être choisi parmi :
Le mot-clé plus est optionnel. num doit
+ correspondre à une valeur entière [compatible avec
+ atoi()], et type peut être choisi parmi :
yearsseconds
Par exemple, pour faire expirer par défaut les documents 1 mois - après leur accès, on peut utiliser une des directives suivantes :
+Par exemple, pour faire expirer par défaut les documents 1 mois + après leur accès, on peut utiliser une des directives suivantes :
La date d'expiration peut être définie plus précisément en +
La date d'expiration peut être définie plus précisément en ajoutant plusieurs clauses 'num type' :
Notez que si vous utilisez une configuration basée sur la date de - modification, l'en-tête Expires ne sera pas ajouté à un contenu qui +
Notez que si vous utilisez une configuration basée sur la date de + modification, l'en-tête Expires ne sera pas ajouté à un contenu qui ne provient pas directement d'un fichier sur disque ; et ceci tout - simplement parce que ce type de contenu ne possède pas de date de + simplement parce que ce type de contenu ne possède pas de date de modification.
ExpiresCette directive permet d'activer ou de désactiver la génération
- des en-têtes Expires et Cache-Control pour
- les documents concernés ; en d'autres termes, si cette directive se
+
Cette directive permet d'activer ou de désactiver la génération
+ des en-têtes Expires et Cache-Control pour
+ les documents concernés ; en d'autres termes, si cette directive se
trouve dans un fichier .htaccess, par exemple, elle ne
- s'applique qu'aux documents générés à partir du répertoire
- considéré. Si elle est définie à Off, les en-têtes ne
- seront générés pour aucun document du domaine considéré (sauf
- surcharge de la configuration à un niveau inférieur, comme un
+ s'applique qu'aux documents générés à partir du répertoire
+ considéré. Si elle est définie à Off, les en-têtes ne
+ seront générés pour aucun document du domaine considéré (sauf
+ surcharge de la configuration à un niveau inférieur, comme un
fichier .htaccess qui l'emporterait sur le fichier de
- configuration du serveur). Si elle est définie à On,
- les en-têtes seront ajoutés aux documents servis en fonction des
- critères définis par les directives
Notez que cette directive ne permet pas de garantir qu'un en-tête
- Expires ou Cache-Control sera généré. Si
- les critères ne sont pas respectés, aucun en-tête ne sera généré, et
- la directive produira le même effet que si elle n'avait pas été
- définie.
Notez que cette directive ne permet pas de garantir qu'un en-tête
+ Expires ou Cache-Control sera généré. Si
+ les critères ne sont pas respectés, aucun en-tête ne sera généré, et
+ la directive produira le même effet que si elle n'avait pas été
+ définie.
Expires
+Expires
en fonction du type MIMECette directive permet de définir la valeur de l'en-tête +
Cette directive permet de définir la valeur de l'en-tête
Expires et de la directive max-age de
- l'en-tête Cache-Control générés pour les documents du
- type MIME spécifié (par exemple, text/html). Le second
- argument définit le nombre de secondes qui seront ajoutées à un
+ l'en-tête Cache-Control générés pour les documents du
+ type MIME spécifié (par exemple, text/html). Le second
+ argument définit le nombre de secondes qui seront ajoutées à un
temps de base pour calculer la date d'expiration.
Cache-Control: max-age se calcule en soustrayant la
- date de la requête de la date d'expiration et s'exprime en
+ date de la requête de la date d'expiration et s'exprime en
secondes.
Le champ <code> permet de spécifier
- quel temps doit être utilisé comme temps de base; M
+
Le champ <code> permet de spécifier
+ quel temps doit être utilisé comme temps de base; M
signifie que c'est la date
- de dernière modification du fichier qui doit être utilisée comme
+ de dernière modification du fichier qui doit être utilisée comme
temps de base, alors que A signifie que c'est le moment
- où le client a accédé au document qui doit être utilisé comme temps
+ où le client a accédé au document qui doit être utilisé comme temps
de base.
La différence d'effet est subtile. Si on utilise M,
+
La différence d'effet est subtile. Si on utilise M,
toutes les copies existantes du document dans tous les caches
- expireront au même moment, ce qui peut convenir par exemple pour une
- notice hebdomadaire qui correspond toujours à la même URL. Si on
- utilise A, la date d'expiration sera différente pour
+ expireront au même moment, ce qui peut convenir par exemple pour une
+ notice hebdomadaire qui correspond toujours à la même URL. Si on
+ utilise A, la date d'expiration sera différente pour
chaque client, ce qui peut convenir pour des fichiers d'images qui
- ne changent pas très souvent, et en particulier pour un ensemble de
- documents en relation qui se réfèrent tous aux mêmes images (ces
- images sont alors accédées de manière répétitive dans un intervalle
+ ne changent pas très souvent, et en particulier pour un ensemble de
+ documents en relation qui se réfèrent tous aux mêmes images (ces
+ images sont alors accédées de manière répétitive dans un intervalle
de temps assez court).
Notez que cette directive ne produit d'effet que si
- ExpiresActive On a été spécifié. Elle l'emporte, mais
- seulement pour le type MIME spécifié, sur toute date
- d'expiration définie par la directive
Vous pouvez aussi définir le mode de calcul de la date +
Vous pouvez aussi définir le mode de calcul de la date d'expiration en utilisant une syntaxe - alternative, comme décrit plus haut dans ce document.
+ alternative, comme décrit plus haut dans ce document.Cette directive permet de définir le mode de calcul par défaut de - la date d'expiration pour tous les documents du domaine considéré. - Elle peut être annulée pour certains types de documents par la +
Cette directive permet de définir le mode de calcul par défaut de
+ la date d'expiration pour tous les documents du domaine considéré.
+ Elle peut être annulée pour certains types de documents par la
directive
La mise en cache de fichiers souvent demandés mais rarement - modifiés est une technique qui peut réduire la charge du +
La mise en cache de fichiers souvent demandés mais rarement
+ modifiés est une technique qui peut réduire la charge du
serveur. mmap(), soit de pré-ouvrir un fichier et de maintenir en
+ fréquemment demandés. Des directives de configuration vous
+ permettent d'indiquer à mmap(), soit de pré-ouvrir un fichier et de maintenir en
service le gestionnaire du fichier. Chacune de ces techniques
- amène à réduire la charge du serveur lors du traitement des
- requêtes concernant ces fichiers, en accomplissant une partie du
- travail nécessaire à la mise à disposition de ces fichiers (en
- particulier les opérations d'entrées/sorties sur les fichiers) au
- démarrage du serveur, plutôt qu'au cours de chaque requête.
Note : ces techniques sont inutilisables pour accélérer des +
Note : ces techniques sont inutilisables pour accélérer des programmes CGI ou d'autres fichiers servis par des gestionnaires de - contenu spéciaux. Elles ne peuvent être utilisées que pour des - fichiers standards en général servis par le gestionnaire de contenu + contenu spéciaux. Elles ne peuvent être utilisées que pour des + fichiers standards en général servis par le gestionnaire de contenu de base d'Apache.
Ce module est une extension et s'inspire fortement du module
@@ -67,55 +67,55 @@ fichiers
Les deux directives ne sont pas supportées par toutes les
+ Les deux directives ne sont pas supportées par toutes les
plates-formes. Par exemple, Apache pour Windows ne supporte pas
actuellement la directive La directive Ce Ce mmap(). Cet appel système est disponible sur la
+ mmap(). Cet appel système est disponible sur la
plupart des plates-formes de style Unix, mais pas sur toutes. Il
- existe parfois des limites spécifiques au système quant à la
- taille et au nombre de fichiers qui peuvent être
- mmap()és, et l'expérimentation est probablement la
- méthode la plus simple pour déterminer ces limites.mmap()age n'est effectué qu'une seul fois au
- démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
- fichiers chargés en mémoire est modifié au niveau du système de
- fichiers, vous devez redémarrer le serveur (voir la
+ existe parfois des limites spécifiques au système quant à la
+ taille et au nombre de fichiers qui peuvent être
+ mmap()és, et l'expérimentation est probablement la
+ méthode la plus simple pour déterminer ces limites.mmap()age n'est effectué qu'une seul fois au
+ démarrage ou redémarrage du serveur. Ainsi, chaque fois qu'un des
+ fichiers chargés en mémoire est modifié au niveau du système de
+ fichiers, vous devez redémarrer le serveur (voir la
documentation sur l'Arrêt et redémarrage). Pour bien
- insister sur ce point, si des fichiers sont modifiés sur
- disque, et si vous ne redémarrez pas le serveur, vous allez
- finir par servir des contenus complètement obsolètes. Vous devez
- mettre à jour les fichiers en renommant l'ancienne version et en
+ href="../stopping.html">Arrêt et redémarrage). Pour bien
+ insister sur ce point, si des fichiers sont modifiés sur
+ disque, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme rdist et mv.
La raison pour laquelle ce module ne prend pas en compte les
- modifications de fichiers réside dans le fait que cette
- vérification nécessiterait un appel à stat() à chaque
- accès, et en fin de compte, l'augmentation de la consommation de
+ modifications de fichiers réside dans le fait que cette
+ vérification nécessiterait un appel à stat() à chaque
+ accès, et en fin de compte, l'augmentation de la consommation de
ressources finirait par aller contre le but initial de
- réduire les entrées/sorties.
La directive sendfile() (ou
+ fichier est demandé, le serveur sélectionne son gestionnaire dans
+ le cache et le transmet à l'API sendfile() (ou
TransmitFile() sous Windows).
Cette mise en cache des gestionnaire n'est effectuée qu'une - seule fois au démarrage ou redémarrage du système. Ainsi, chaque - fois qu'un des fichiers chargés en mémoire est modifié au niveau - du système de fichiers, vous devez redémarrer le serveur +
Cette mise en cache des gestionnaire n'est effectuée qu'une
+ seule fois au démarrage ou redémarrage du système. Ainsi, chaque
+ fois qu'un des fichiers chargés en mémoire est modifié au niveau
+ du système de fichiers, vous devez redémarrer le serveur
(voir la documentation sur l'Arrêt et redémarrage).
+ href="../stopping.html">Arrêt et redémarrage).
Pour bien
- insister sur ce point, si des fichiers sont modifiés sur
- disque, et si vous ne redémarrez pas le serveur, vous allez
- finir par servir des contenus complètement obsolètes. Vous devez
- mettre à jour les fichiers en renommant l'ancienne version et en
+ insister sur ce point, si des fichiers sont modifiés sur
+ disque, et si vous ne redémarrez pas le serveur, vous allez
+ finir par servir des contenus complètement obsolètes. Vous devez
+ mettre à jour les fichiers en renommant l'ancienne version et en
enregistrant la nouvelle sur disque. Pour y parvenir, on peut
utiliser des outils comme rdist et
mv.
Ne cherchez pas de directive qui met tous les
- fichiers d'un répertoire en cache, de manière récursive. Pour y
- parvenir, vous pouvez vous reporter à la directive
La directive HUP ou USR1 au serveur afin de les
remmap()er.
Soyez prudent avec les arguments chemin_fichier : ils
- doivent correspondre exactement au chemin du système de fichier que
- créent les gestionnaires de traduction URL-vers-nom-fichier
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
- pour mettre en correspondance des chemins à l'aide de liens
- symboliques (etc...), car là encore, ceci nécessiterait un
- appel à stat() supplémentaire, ce qui est inacceptable.
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques (etc...), car là encore, ceci nécessiterait un
+ appel à stat() supplémentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
- fichiers réécrits par
La directive
Soyez prudent avec les arguments chemin_fichier : ils
- doivent correspondre exactement au chemin du système de fichier que
- créent les gestionnaires de traduction URL-vers-nom-fichier
+ doivent correspondre exactement au chemin du système de fichier que
+ créent les gestionnaires de traduction URL-vers-nom-fichier
d'Apache. On ne peut pas comparer des inodes ou autres identifiants
- pour mettre en correspondance des chemins à l'aide de liens
- symboliques (etc...), car là encore, ceci nécessiterait un
- appel à stat() supplémentaire, ce qui est inacceptable.
+ pour mettre en correspondance des chemins à l'aide de liens
+ symboliques (etc...), car là encore, ceci nécessiterait un
+ appel à stat() supplémentaire, ce qui est inacceptable.
Il n'est pas garanti que ce module fonctionne avec des noms de
- fichiers réécrits par
mod_firehose fournit un mécanisme permettant
- d'enregistrer les données transmises entre le serveur httpd et le
- client au niveau élémentaire de la connexion dans un fichier ou un
- pipe, de façon à ce que les données puissent être analysées ou
- rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump
+
mod_firehose fournit un mécanisme permettant
+ d'enregistrer les données transmises entre le serveur httpd et le
+ client au niveau élémentaire de la connexion dans un fichier ou un
+ pipe, de façon à ce que les données puissent être analysées ou
+ rejouées ultérieurement par le serveur. Il s'apparente à un "tcpdump
pour httpd".
Les connexions sont enregistrées après décodage de la couche SSL, - et peuvent ainsi être utilisées dans le cadre d'une réquisition - légale.
+Les connexions sont enregistrées après décodage de la couche SSL, + et peuvent ainsi être utilisées dans le cadre d'une réquisition + légale.
L'utilitaire netcat.
Pour activer ce module, il doit être compilé et chargé via la +
Pour activer ce module, il doit être compilé et chargé via la configuration de votre instance httpd courante, et les directives - ci-dessous permettent de sélectionner les données que vous souhaitez + ci-dessous permettent de sélectionner les données que vous souhaitez enregistrer.
-Il est possible d'enregistrer les données entrantes et sortantes - dans le même fichier, car la direction du flux est indiquée dans +
Il est possible d'enregistrer les données entrantes et sortantes + dans le même fichier, car la direction du flux est indiquée dans chaque fragment.
-Il est possible d'écrire vers des fichiers normaux ou des listes +
Il est possible d'écrire vers des fichiers normaux ou des listes fifos (pipes). Dans le cas des listes fifos, mod_firehose fait en - sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF - afin de s'assurer que l'écriture de ces derniers s'effectue en une + sorte que la taille des paquets ne dépasse pas la valeur de PIPE_BUF + afin de s'assurer que l'écriture de ces derniers s'effectue en une seule fois.
-Si une liste fifo sous forme de pipe doit être utilisée, pour que - cette dernière soit ouverte en écriture, certaines données doivent - en être extraites avant le démarrage de httpd. Si l'ouverture du - pipe échoue, mod_firehose ne sera pas activé, et le serveur sera - lancé normalement.
+Si une liste fifo sous forme de pipe doit être utilisée, pour que + cette dernière soit ouverte en écriture, certaines données doivent + en être extraites avant le démarrage de httpd. Si l'ouverture du + pipe échoue, mod_firehose ne sera pas activé, et le serveur sera + lancé normalement.
-Par défaut, toute tentative d'écriture bloque le serveur. Si le - serveur a été compilé avec APR version 2.0 ou supérieure, et si le - paramètre "nonblock" a été spécifié, les écritures dans les fichiers - seront non blocantes, et tout dépassement de tampon entraînera la - perte des données de débogage. Dans ce cas, il est possible donner - la priorité à l'exécution du serveur sur l'enregistrement des - données firehose.
+Par défaut, toute tentative d'écriture bloque le serveur. Si le + serveur a été compilé avec APR version 2.0 ou supérieure, et si le + paramètre "nonblock" a été spécifié, les écritures dans les fichiers + seront non blocantes, et tout dépassement de tampon entraînera la + perte des données de débogage. Dans ce cas, il est possible donner + la priorité à l'exécution du serveur sur l'enregistrement des + données firehose.
En général, le serveur gère plusieurs connexions simultanément, - et de ce fait, les requêtes et les réponses doivent être - multiplexées avant d'être écrites dans le firehose.
+En général, le serveur gère plusieurs connexions simultanément, + et de ce fait, les requêtes et les réponses doivent être + multiplexées avant d'être écrites dans le firehose.
-Chaque fragment se présente sous la forme d'un texte en clair
- de façon à ce qu'un firehose puisse être ouvert et inspecté par un
- éditeur de texte standard. Il est aussi possible d'utiliser
- l'utilitaire
La taille maximale des fragments multiplexés est définie par la - variable PIPE_BUF. Elle correspond à la taille maximale d'un - élément que le système peut écrire. Si la taille des fragments - multiplexés reste en dessous de PIPE_BUF, le module garantit que les - contenus des différents fragments ne se recouperont pas. La valeur - de PIPE_BUF varie en fonction du système d'exploitation.
+Chaque fragment se présente sous la forme d'un texte en clair
+ de façon à ce qu'un firehose puisse être ouvert et inspecté par un
+ éditeur de texte standard. Il est aussi possible d'utiliser
+ l'utilitaire
La taille maximale des fragments multiplexés est définie par la + variable PIPE_BUF. Elle correspond à la taille maximale d'un + élément que le système peut écrire. Si la taille des fragments + multiplexés reste en dessous de PIPE_BUF, le module garantit que les + contenus des différents fragments ne se recouperont pas. La valeur + de PIPE_BUF varie en fonction du système d'exploitation.
La BNF du format du fragment est la suivante :
@@ -118,12 +118,12 @@ header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count - length = <longueur de fragment sur 16 octets hexadécimaux> - timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux> + length = <longueur de fragment sur 16 octets hexadécimaux> + timestamp = <temps depuis 1970 en microsecondes sur 16 octets hexadécimaux> request = "<" response = ">" - uuid = <uuid formaté de la connexion> - count = <numéro hexadécimal du fragment dans la connexion> + uuid = <uuid formaté de la connexion> + count = <numéro hexadécimal du fragment dans la connexion> body = <contenu binaire du fragment> @@ -131,19 +131,19 @@ CRLF = <un retour chariot suivi d'une nouvelle ligne> -Tous les fragments d'une connexion ou d'une requête partagent le - même UUID, selon que les connexions ou les requêtes sont - enregistrées ou non. Si les connexions sont enregistrées, plusieurs - requêtes peuvent apparaître dans la même connexion. Un fragment de +
Tous les fragments d'une connexion ou d'une requête partagent le + même UUID, selon que les connexions ou les requêtes sont + enregistrées ou non. Si les connexions sont enregistrées, plusieurs + requêtes peuvent apparaître dans la même connexion. Un fragment de longueur nulle indique la fin de la connexion.
-Certains fragments peuvent manquer ou être supprimés si le +
Certains fragments peuvent manquer ou être supprimés si le processus qui les lit est trop lent. Si cela se produit, il y aura des trous dans le comptage des connections. Un avertissement - indiquant l'UUID et le numéro du fragment supprimé sera enregistré + indiquant l'UUID et le numéro du fragment supprimé sera enregistré dans le journal des erreurs.
-En cas de crash ou d'arrêt forcé du processus httpd, il est +
En cas de crash ou d'arrêt forcé du processus httpd, il est possible que le fragment vide de terminaison n'apparaisse pas. Cela peut aussi se produire si le processus qui lit les fragments n'est pas assez rapide.
@@ -153,18 +153,18 @@Capture le trafic entrant dans le serveur à chaque connexion. - Plusieurs requêtes seront capturées pour la même connexion si les - connexions persistantes sont activées.
+Capture le trafic entrant dans le serveur à chaque connexion. + Plusieurs requêtes seront capturées pour la même connexion si les + connexions persistantes sont activées.
Capture le trafic sortant du serveur à chaque connexion. - Plusieurs requêtes seront capturées pour la même connexion si les - connexions persistantes sont activées. +
Capture le trafic sortant du serveur à chaque connexion. + Plusieurs requêtes seront capturées pour la même connexion si les + connexions persistantes sont activées.
Capture le trafic entrant dans le serveur à chaque requête. Les - requêtes sont capturées séparément, que les connexions persistantes - soient activées ou non.
+Capture le trafic entrant dans le serveur à chaque requête. Les + requêtes sont capturées séparément, que les connexions persistantes + soient activées ou non.
Capture le trafic sortant du serveur à chaque requête. Les - requêtes sont capturées séparément, que les connexions persistantes - soient activées ou non.
+Capture le trafic sortant du serveur à chaque requête. Les + requêtes sont capturées séparément, que les connexions persistantes + soient activées ou non.
Capture le trafic reçu par mod_proxy.
+Capture le trafic reçu par mod_proxy.
Capture le trafic envoyé par mod_proxy.
+Capture le trafic envoyé par mod_proxy.
Ce module interroge un démon compatible Ce module interroge un démon compatible RFC 1413 sur un - serveur distant afin de déterminer le propriétaire d'une + serveur distant afin de déterminer le propriétaire d'une connexion.
Cette directive permet d'activer la journalisation compatible RFC 1413 du nom de
l'utilisateur distant pour chaque connexion, si la machine du client
- exécute identd ou un démon similaire. Cette information est
- enregistrée dans le journal des accès en utilisant la chaîne de formatage
+ exécute identd ou un démon similaire. Cette information est
+ enregistrée dans le journal des accès en utilisant la chaîne de formatage
%...l.
Notez que de sérieux problèmes de délais peuvent survenir lors - des accès à votre serveur, car chaque requête nécessite l'exécution +
Notez que de sérieux problèmes de délais peuvent survenir lors
+ des accès à votre serveur, car chaque requête nécessite l'exécution
d'un de ces processus de recherche. Lorsque des pare-feu ou des
- serveurs mandataires sont impliqués, chaque recherche est
- susceptible d'échouer et ajouter un temps de latence conformément
- à la directive
Cette directive permet de spécifier le délai d'attente d'une - requête ident. Une valeur par défaut de 30 secondes est recommandée +
Cette directive permet de spécifier le délai d'attente d'une + requête ident. Une valeur par défaut de 30 secondes est recommandée par la RFC 1413, - principalement pour prévenir les problèmes qui pourraient être - induits par la charge du réseau. Vous pouvez cependant ajuster la - valeur de ce délai en fonction du débit de votre réseau local.
+ principalement pour prévenir les problèmes qui pourraient être + induits par la charge du réseau. Vous pouvez cependant ajuster la + valeur de ce délai en fonction du débit de votre réseau local.chaîne1 chaîne2 devient chaîne1 chaîne1    chaîne2 devient chaîne1 chaîne2
et
- 'chaîne1 'chaîne1    chaîne2' devient chaîne1 chaîne2.
Ce module implémente le fournisseur de journalisation d'erreurs +
Ce module implémente le fournisseur de journalisation d'erreurs "journald". Il permet l'enregistrement des messages d'erreur et la - gestion des journaux personnalisés via systemd-journald(8).
+ gestion des journaux personnalisés via systemd-journald(8).Systemd-journald permet d'effectuer une journalisation - structurée, et autorise donc le filtrage des messages en fonction de - diverses variables. Les variables actuellement supportées sont : + structurée, et autorise donc le filtrage des messages en fonction de + diverses variables. Les variables actuellement supportées sont :
LOGREQUEST_HOSTNAMEREQUEST_USERREQUEST_USERAGENT_IPREQUEST_URISERVER_HOSTNAMECes variables peuvent par exemple être utilisées pour ne montrer +
Ces variables peuvent par exemple être utilisées pour ne montrer
que les messages concernant un URI particulier via la commande
journalctl :
Si le système le supporte, il est possible d'utiliser
- systemd-journald(8) pour effectuer la journalisation en spécifiant
- journald à la place d'un nom de fichier dans la
+
Si le système le supporte, il est possible d'utiliser
+ systemd-journald(8) pour effectuer la journalisation en spécifiant
+ journald à la place d'un nom de fichier dans la
directive ErrorLog (voir
Spécifier journald comme fournisseur de journal
+
Spécifier journald comme fournisseur de journal
d'erreurs avec la directive CustomLog (voir
- Actuellement, systemd-journald n'est pas conçu pour une
- jounalisation à haut débit et son utilisation pour la journalisation
- des accès peut induire une baisse importante de performances.
+
+ Actuellement, systemd-journald n'est pas conçu pour une
+ jounalisation à haut débit et son utilisation pour la journalisation
+ des accès peut induire une baisse importante de performances.
| Chaîne de format | +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chaîne de format | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%% |
diff --git a/docs/manual/mod/mod_log_debug.xml.fr b/docs/manual/mod/mod_log_debug.xml.fr
index f7044f9e65..1e9be43e76 100644
--- a/docs/manual/mod/mod_log_debug.xml.fr
+++ b/docs/manual/mod/mod_log_debug.xml.fr
@@ -40,7 +40,7 @@ débogage
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Chaîne de Format | +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chaîne de Format | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%I |
diff --git a/docs/manual/mod/mod_policy.xml.fr b/docs/manual/mod/mod_policy.xml.fr
index a41eb2f8a2..06708cc95a 100644
--- a/docs/manual/mod/mod_policy.xml.fr
+++ b/docs/manual/mod/mod_policy.xml.fr
@@ -24,59 +24,59 @@
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hcuri | -+ |  | URI supplémentaire à ajouter à l'URL de l'équipier pour le check up. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hctemplate | -+ |  | Nom du modèle créé via | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hcexpr | -+ |  | Nom de l'expression créée via Si ce paramètre est absent, un état HTTP de 2xx à 3xx est diff --git a/docs/manual/mod/mod_proxy_http.xml.fr b/docs/manual/mod/mod_proxy_http.xml.fr index 34ec4d2863..de0b200153 100644 --- a/docs/manual/mod/mod_proxy_http.xml.fr +++ b/docs/manual/mod/mod_proxy_http.xml.fr @@ -25,7 +25,7 @@ Pour pouvoir fonctionner, ce module requiert le
chargement de Ainsi, pour pouvoir traiter les requêtes HTTP mandatées, + Ainsi, pour pouvoir traiter les requêtes HTTP mandatées,
N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les + N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux non seulement pour - votre réseau, mais aussi pour l'Internet au sens large. + votre réseau, mais aussi pour l'Internet au sens large.Outre les directives de configuration qui contrôlent le + Outre les directives de configuration qui contrôlent le
comportement de
Ce module nécessite la présence de Ce module nécessite la présence de Avertissement : il ne sera effectué aucune tentative de fusion de - plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même - serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête - HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur - d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant - si possible la même connexion TCP). +Avertissement : il ne sera effectué aucune tentative de fusion de + plusieurs requêtes entrantes HTTP/1 (devant être mandatées vers le même + serveur d'arrière-plan) vers des flux HTTP/2 appartenant à la même requête + HTTP/2. Chaque requête HTTP/1 entrante sera mandatée vers le serveur + d'arrière-plan en utilisant une requête HTTP/2 séparée (tout en réutilisant + si possible la même connexion TCP). Ce module s'appuie sur libnghttp2 pour fournir le moteur central http/2. Ce module en est au - stade expérimental. Ses comportement, directives et valeurs par défauts sont - donc susceptibles de modifications d'une version à l'autre plus fréquentes - que pour les autres modules. A ce titre, il est fortement conseillé aux + stade expérimental. Ses comportement, directives et valeurs par défauts sont + donc susceptibles de modifications d'une version à l'autre plus fréquentes + que pour les autres modules. A ce titre, il est fortement conseillé aux utilisateurs de consulter le fichier "CHANGES" pour prendre connaissance de ces modifications. N'activez pas le mandatement avant d'avoir sécurisé votre serveur. Les serveurs - mandataires ouverts sont dangereux non seulement pour votre propre réseau, + href="mod_proxy.html#access">sécurisé votre serveur. Les serveurs + mandataires ouverts sont dangereux non seulement pour votre propre réseau, mais aussi pour l'Internet au sens large. Les exemples ci-dessous montrent comment configurer HTTP/2 pour des - connexions d'arrière-plan vers un mandataire inverse. + connexions d'arrière-plan vers un mandataire inverse.Pour mandater en inverse les protocoles http qui sont connus et utilisés par l'agent utilisateur.
Ce module implémente la transparence des certificats en conjonction
+ Ce module implémente la transparence des certificats en conjonction
avec
Cette implémentation pour Apache httpd fournit les fonctionnalités + Cette implémentation pour Apache httpd fournit les fonctionnalités suivantes pout les serveurs et mandataires TLS :
La configuration des logs peut être définie statiquement au niveau de
-la configuration du serveur web, ou enregistrée dans une base de données
-SQLite3. Dans ce dernier cas, La configuration des logs peut être définie statiquement au niveau de
+la configuration du serveur web, ou enregistrée dans une base de données
+SQLite3. Dans ce dernier cas,
Les mécanismes de configuration, le format des données enregistrées -pour l'audit hors ligne, ainsi que d'autres caractéristiques sont -appelés à évoluer en fonction des tests et retours d'informations à + Les mécanismes de configuration, le format des données enregistrées +pour l'audit hors ligne, ainsi que d'autres caractéristiques sont +appelés à évoluer en fonction des tests et retours d'informations à venir. Les serveurs doivent pouvoir envoyer les SCTs aux clients. Les SCTs - seront envoyés sous la forme d'une extension de certificat ou au sein - d'une réponse OCSP agrafée sans logique préprogrammée. Ce module gère - l'envoi des SCTs configurés par l'administrateur ou en provenance des - logs définis. + seront envoyés sous la forme d'une extension de certificat ou au sein + d'une réponse OCSP agrafée sans logique préprogrammée. Ce module gère + l'envoi des SCTs configurés par l'administrateur ou en provenance des + logs définis. -Le nombre de SCTs envoyés au cours de la phase ServerHello (c'est à + Le nombre de SCTs envoyés au cours de la phase ServerHello (c'est Ã
dire les SCTs autres que ceux inclus dans une extension de certificat
- ou une réponse OCSP agrafée) peut être limité via la directive
+ ou une réponse OCSP agrafée) peut être limité via la directive
Pour chaque certificat de serveur, un processus maintient une liste - de SCTs à envoyer au cours de la phase ServerHello ; cette liste est - créée à partir des SCTs configurés statiquement, mais aussi à partir - de ceux reçus depuis les logs. Les logs marqués comme suspects ou - arrivés à péremption seront ignorés. A intervalles réguliers, le - processus va soumettre les certificats à un log selon les besoins - (suite à un changement de configuration du log ou de sa durée de vie), - et reconstruire la concaténation des SCTs. - -La liste des SCTs pour un certificat de serveur sera envoyée au + de SCTs à envoyer au cours de la phase ServerHello ; cette liste est + créée à partir des SCTs configurés statiquement, mais aussi à partir + de ceux reçus depuis les logs. Les logs marqués comme suspects ou + arrivés à péremption seront ignorés. A intervalles réguliers, le + processus va soumettre les certificats à un log selon les besoins + (suite à un changement de configuration du log ou de sa durée de vie), + et reconstruire la concaténation des SCTs. + +La liste des SCTs pour un certificat de serveur sera envoyée au cours de la phase ClientHello, lorsque ce certificat de serveur - particulier est utilisé, à tout client qui fait savoir qu'il supporte - cette fonctionnalité. + particulier est utilisé, à tout client qui fait savoir qu'il supporte + cette fonctionnalité.Le serveur mandataire indique qu'il supporte la Transparence des Certificats au cours de la phase ClientHello en incluant l'extension - signed_certificate_timestamp. Il peut reconnaître les SCTs - reçus au cours de la phase ServerHello dans une extension du - certificat du serveur original, ou au sein d'une réponse OCSP agrafée. + signed_certificate_timestamp. Il peut reconnaître les SCTs + reçus au cours de la phase ServerHello dans une extension du + certificat du serveur original, ou au sein d'une réponse OCSP agrafée. -Une vérification en ligne est effectuée pour tout SCT reçu : +Une vérification en ligne est effectuée pour tout SCT reçu :
Si la vérification échoue ou renvoie un résultat négatif pour au + Si la vérification échoue ou renvoie un résultat négatif pour au
moins un SCT et si la directive En outre, si la directive A titre d'optimisation, la vérification en ligne et le stockage des - données en provenance du serveur ne sont effectués que la première - fois où un processus enfant du serveur web reçoit ces données, ce qui - permet d'économiser du temps processeur et de l'espace disque. Dans le + module="mod_ssl_ct">CTAuditStorage est définie, la chaîne + de certification du serveur et les SCTs sont stockés pour une + vérification hors ligne. + +A titre d'optimisation, la vérification en ligne et le stockage des + données en provenance du serveur ne sont effectués que la première + fois où un processus enfant du serveur web reçoit ces données, ce qui + permet d'économiser du temps processeur et de l'espace disque. Dans le cas d'une configuration typique de mandataire inverse, seule une - légère augmentation de la charge processeur sera induite. + légère augmentation de la charge processeur sera induite.Les serveurs et les mandataires utilisent des informations - différentes en ce qui concerne les logs et leurs traitements. Cette - configuration des logs peut être effectuée de deux manières : + différentes en ce qui concerne les logs et leurs traitements. Cette + configuration des logs peut être effectuée de deux manières :
Les éléments de configuration pouvant être définis par l'une ou - l'autre méthode sont les suivants : +Les éléments de configuration pouvant être définis par l'une ou + l'autre méthode sont les suivants :
En général, seuls quelque uns de ces éléments de configuration sont
- définis pour un log donné. Pour plus de détails, veuillez vous référer
- à la documentation de la directive Le module Vous trouverez dans le Dépôt ct-tools de Tom
+ href="https://github.com/tomrittervg/ct-tools">Dépôt ct-tools de Tom
Ritter un exemple de code sous la forme d'un script Python
- ( write-sct.py) permettant de générer un SCT sous un
+ format correct avec des données en provenance d'un log.
Dans les deux modes mandataire et serveur, les variables
Dans le mode mandataire, la variable
- Les valeurs de ces variables peuvent être journalisées via la
- chaîne de format Les valeurs de ces variables peuvent être journalisées via la
+ chaîne de format Le support de cette fonctionnalité en est au stade expérimental, et
- est implémenté par la commande Le support de cette fonctionnalité en est au stade expérimental, et
+ est implémenté par la commande Voici quelques indication à l'état brut pour l'utilisation de + Voici quelques indication à l'état brut pour l'utilisation de
Les données stockées à des fins d'audit peuvent aussi être
- utilisées par d'autres programmes ; veuillez vous référer au code
- source de Les données stockées à des fins d'audit peuvent aussi être
+ utilisées par d'autres programmes ; veuillez vous référer au code
+ source de La directive Si cette directive n'est pas définie, aucune donnée ne sera stockée + Si cette directive n'est pas définie, aucune donnée ne sera stockée en vue d'un audit hors ligne. -Le répertoire considéré contiendra des fichiers nommés + Le répertoire considéré contiendra des fichiers nommés
Il est possible d'utiliser une implémentation alternative pour - extraire les SCTs d'un certificat de serveur à partir du moment où - l'interface de la ligne de commande est équivalente. +Il est possible d'utiliser une implémentation alternative pour + extraire les SCTs d'un certificat de serveur à partir du moment où + l'interface de la ligne de commande est équivalente. -Si cette directive n'est pas définie, il n'est pas possible de + Si cette directive n'est pas définie, il n'est pas possible de soumettre les certificats aux logs pour en extraire les SCTs ; seuls - les SCTs gérés par l'administrateur ou situés dans une extension de + les SCTs gérés par l'administrateur ou situés dans une extension de certificat seront alors fournis aux clients. La directive La directive Veuillez vous référer à la documentation du programme
- Veuillez vous référer à la documentation du programme
+ Les certificats de serveur dont les SCTs sont supérieurs à cet âge - maximum seront soumis à nouveau aux logs définis. En général, le log - va renvoyer le même SCT que précédemment, mais ceux-ci font alors l'objet - d'une opération de la part du log. Les SCTs seront raffraîchis autant que - nécessaire au cours du fonctionnement normal du serveur, les nouveaux - SCTs étant envoyés aux clients au fur et à mesure de leur - disponibilité. +Les certificats de serveur dont les SCTs sont supérieurs à cet âge + maximum seront soumis à nouveau aux logs définis. En général, le log + va renvoyer le même SCT que précédemment, mais ceux-ci font alors l'objet + d'une opération de la part du log. Les SCTs seront raffraîchis autant que + nécessaire au cours du fonctionnement normal du serveur, les nouveaux + SCTs étant envoyés aux clients au fur et à mesure de leur + disponibilité. Cette directive permet de contrôler la prise en compte et les + Cette directive permet de contrôler la prise en compte et les recherches de SCTs valides pour un mandataire. Les options disponibles sont les suivantes :
La directive La directive Chaque certificat voit ses informations stockées dans un sous-répertoire - qui lui est propre ; le nom de ce sous-répertoire correspond au hash - SHA-256 du certificat considéré. +Chaque certificat voit ses informations stockées dans un sous-répertoire + qui lui est propre ; le nom de ce sous-répertoire correspond au hash + SHA-256 du certificat considéré. -Les sous-répertoires propres à chaque certificat contiennent des - SCTs en provenance des logs définis, des listes de SCTs préparées à - partir des SCTs configurés statiquement et des SCTs extraits, ainsi - que diverses informations utilisées pour gérer les SCTs. +Les sous-répertoires propres à chaque certificat contiennent des + SCTs en provenance des logs définis, des listes de SCTs préparées à + partir des SCTs configurés statiquement et des SCTs extraits, ainsi + que diverses informations utilisées pour gérer les SCTs. Cette directive permet de définir le nombre maximum de SCTs pouvant - être renvoyés par un serveur TLS au cours de la phase ServerHello dans - le cas où le nombre de logs définis et de SCTs définis statiquement + Cette directive permet de définir le nombre maximum de SCTs pouvant + être renvoyés par un serveur TLS au cours de la phase ServerHello dans + le cas où le nombre de logs définis et de SCTs définis statiquement est assez important. -En général, seuls quelques SCTs sont disponibles, cette directive - n'est donc nécessaire que dans certaines circonstances particulières. +En général, seuls quelques SCTs sont disponibles, cette directive + n'est donc nécessaire que dans certaines circonstances particulières. Cette directive ne tient pas compte des SCTs contenus dans les - extensions de certificats ou les réponses OCSP agrafées. + extensions de certificats ou les réponses OCSP agrafées.Cette directive permet de configurer un log particulier. Elle est
- particulièrement appropriée dans les cas où cette configuration est
- rarement modifiée. Si votre cas nécessite plutôt une configuration
- dynamique, veuillez vous référer à la documentation de la directive
+ particulièrement appropriée dans les cas où cette configuration est
+ rarement modifiée. Si votre cas nécessite plutôt une configuration
+ dynamique, veuillez vous référer à la documentation de la directive
Chacun des six champs doit être renseigné, mais en général, la - configuration d'un log nécessite peu d'information ; utilisez - - lorsque vous ne disposez d'aucune information à spécifier + Chacun des six champs doit être renseigné, mais en général, la + configuration d'un log nécessite peu d'information ; utilisez + - lorsque vous ne disposez d'aucune information à spécifier pour un champ particulier. Par exemple, dans le cas d'une configuration de serveur simple (non mandataire), l'administrateur n'a - besoin de spécifier que l'URL du log auquel soumettre des certificats de + besoin de spécifier que l'URL du log auquel soumettre des certificats de serveur afin d'en extraire les SCTs. -Les champs se définissent comme suit : +Les champs se définissent comme suit :
Cette directive permet de définir statiquement un ou plusieurs SCTs - correspondant à un certificat de serveur. Ce mécanisme peut être - utilisé à la place ou en complément de l'obtention dynamique des SCTs + Cette directive permet de définir statiquement un ou plusieurs SCTs + correspondant à un certificat de serveur. Ce mécanisme peut être + utilisé à la place ou en complément de l'obtention dynamique des SCTs en provenance des logs. Toute modification dans le jeu de SCTs d'un - certificat de serveur particulier sera prise en compte de manière - dynamique sans avoir à redémarrer le serveur. + certificat de serveur particulier sera prise en compte de manière + dynamique sans avoir à redémarrer le serveur. -certificate-pem-file fait référence au fichier contenant + certificate-pem-file fait référence au fichier contenant
le certificat de serveur au format PEM. Si ce chemin n'est pas absolu,
- il sera considéré comme relatif au chemin défini par la directive
+ il sera considéré comme relatif au chemin défini par la directive
sct-directory doit contenir le chemin vers un ou plusieurs
- fichiers possédant l'extension de nom de fichier Si sct-directory est vide, aucun message d'erreur ne sera - affiché. + affiché. -Cette directive peut servir à identifier des répertoires de SCTs - gérés par une autre infrastructure, sous réserve qu'ils soient - enregistrés au format binaire avec l'extension de nom de fichier + Cette directive peut servir à identifier des répertoires de SCTs + gérés par une autre infrastructure, sous réserve qu'ils soient + enregistrés au format binaire avec l'extension de nom de fichier .sct. Ce module implémente le fournisseur de journalisation "syslog". + Ce module implémente le fournisseur de journalisation "syslog". Il permet de journaliser les messages d'erreur via syslogd(8). Si le système le supporte, l'utilisation du paramètre + Si le système le supporte, l'utilisation du paramètre
Ce module fournit un identifiant dont l'unicité est garantie - parmi "toutes" les requêtes sous des conditions très précises. + Ce module fournit un identifiant dont l'unicité est garantie
+ parmi "toutes" les requêtes sous des conditions très précises.
L'identifiant unique le sera aussi parmi plusieurs machines
- appartenant à un cluster correctement configuré. L'identifiant est
- affecté à la variable d'environnement Tout d'abord un bref rappel de la manière dont le serveur Apache - fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas - supportée sous Windows NT). Sous Unix, Apache crée plusieurs - processus enfants, ces derniers traitant les requêtes une par une. - Chaque processus enfant peut traiter plusieurs requêtes pendant sa - durée de vie. Dans le cadre de cette discussion, nous supposerons - que les différents processus enfants ne s'échangent pas de données - entre eux. Nous nous référerons aux processus enfants sous le nom de + Tout d'abord un bref rappel de la manière dont le serveur Apache + fonctionne sous Unix (cette fonctionnalité n'étant actuellement pas + supportée sous Windows NT). Sous Unix, Apache crée plusieurs + processus enfants, ces derniers traitant les requêtes une par une. + Chaque processus enfant peut traiter plusieurs requêtes pendant sa + durée de vie. Dans le cadre de cette discussion, nous supposerons + que les différents processus enfants ne s'échangent pas de données + entre eux. Nous nous référerons aux processus enfants sous le nom de processus httpd. -Votre site web est réparti entre une ou plusieurs machines dont - vous êtes l'administrateur, et que nous nommerons cluster de - serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache. - L'ensemble de ces dernières sera considéré comme "l'Univers", et - sous certaines hypothèses, nous montrerons qu'il est possible dans - cet univers, de générer des identifiants uniques pour chaque - requête, sans pour autant nécessiter une communication importante - entre les différents serveurs du cluster. +Votre site web est réparti entre une ou plusieurs machines dont + vous êtes l'administrateur, et que nous nommerons cluster de + serveurs. Chaque serveur peut exécuter plusieurs instances d'Apache. + L'ensemble de ces dernières sera considéré comme "l'Univers", et + sous certaines hypothèses, nous montrerons qu'il est possible dans + cet univers, de générer des identifiants uniques pour chaque + requête, sans pour autant nécessiter une communication importante + entre les différents serveurs du cluster. Les machines de votre cluster doivent satisfaire ces conditions - (même si le cluster ne comporte qu'une machine, vous devez + (même si le cluster ne comporte qu'une machine, vous devez synchroniser son horloge avec NTP) :
Au vu des caractéristiques actuelles du système d'exploitation, - nous supposerons que les pids (identifiants processus) sont codés - sur 32 bits. Si le système d'exploitation utilise plus de 32 bits - pour un pid, la correction est triviale mais doit être effectuée + Au vu des caractéristiques actuelles du système d'exploitation, + nous supposerons que les pids (identifiants processus) sont codés + sur 32 bits. Si le système d'exploitation utilise plus de 32 bits + pour un pid, la correction est triviale mais doit être effectuée dans le code. -Ces hypothèses posées, à un instant donné, nous pouvons + Ces hypothèses posées, à un instant donné, nous pouvons distinguer tout processus httpd sur toute machine du cluster de tous les autres processus httpd. Pour ce faire, il suffit d'utiliser l'adresse IP de la machine et le pid du processus httpd. Un - processus httpd peut traiter plusieurs requêtes simultanément si - vous utilisez un module MPM multi-threadé. Pour identifier les + processus httpd peut traiter plusieurs requêtes simultanément si + vous utilisez un module MPM multi-threadé. Pour identifier les threads, Apache httpd utilise en interne un index de threads. Ainsi, - afin de générer des identifiants uniques pour chaque requête, il + afin de générer des identifiants uniques pour chaque requête, il suffit d'effectuer une distinction en fonction du temps. -Pour déterminer le temps, nous utiliserons un repère de temps - Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un - compteur 16 bits. La précision du repère de temps n'étant que d'une - seconde, le compteur va représenter 65536 valeurs par seconde. Le - quadruplet (adresse IP, pid, repère de temps, compteur) est - en mesure de distinguer 65536 requêtes par seconde par processus - httpd. Il peut cependant arriver que le même pid soit réutilisé au - cours du temps, et le compteur est là pour pallier cet - inconvénient. - -Lorsqu'un processus enfant httpd est créé, le compteur est - initialisé avec (nombre de microsecondes actuel divisé par 10) - modulo 65536 (cette formule a été choisie pour éliminer certains - problème de variance avec les bits de poids faibles du compteur de - microsecondes sur certains systèmes). Lorsqu'un identifiant unique - est généré, le repère de temps utilisé est le moment où la requête - arrive sur le serveur web. Le compteur est incrémenté à chaque - création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa + Pour déterminer le temps, nous utiliserons un repère de temps + Unix (les secondes écoulées depuis le 1er janvier 1970 UTC), et un + compteur 16 bits. La précision du repère de temps n'étant que d'une + seconde, le compteur va représenter 65536 valeurs par seconde. Le + quadruplet (adresse IP, pid, repère de temps, compteur) est + en mesure de distinguer 65536 requêtes par seconde par processus + httpd. Il peut cependant arriver que le même pid soit réutilisé au + cours du temps, et le compteur est là pour pallier cet + inconvénient. + +Lorsqu'un processus enfant httpd est créé, le compteur est + initialisé avec (nombre de microsecondes actuel divisé par 10) + modulo 65536 (cette formule a été choisie pour éliminer certains + problème de variance avec les bits de poids faibles du compteur de + microsecondes sur certains systèmes). Lorsqu'un identifiant unique + est généré, le repère de temps utilisé est le moment où la requête + arrive sur le serveur web. Le compteur est incrémenté à chaque + création d'identifiant (et peut repasser à 0 lorsqu'il a atteint sa valeur maximale). -Le noyau génère un pid pour chaque processus lors de sa création, - et le compteur de pid est réinitialisé à une certaine valeur - lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16 - bits sous de nombreux Unixes, mais les systèmes les plus récents les - ont étendus à 32 bits). La même valeur de pid pourra donc être - réutilisée au cours du temps. Cependant, tant qu'elle n'est pas - réutilisée dans la même seconde, elle ne remet pas en cause - l'unicité de notre quadruplet. Nous supposerons donc que le système - ne créera pas plus de 65536 processus en une seconde (ce nombre peut - être de 32768 sous certains Unixes, mais même dans ce cas, on est en - général loin de cette situation). - -Il est possible que le temps se répète pour une raison + Le noyau génère un pid pour chaque processus lors de sa création, + et le compteur de pid est réinitialisé à une certaine valeur + lorsqu'il a atteint sa valeur maximale (les pid sont codés sur 16 + bits sous de nombreux Unixes, mais les systèmes les plus récents les + ont étendus à 32 bits). La même valeur de pid pourra donc être + réutilisée au cours du temps. Cependant, tant qu'elle n'est pas + réutilisée dans la même seconde, elle ne remet pas en cause + l'unicité de notre quadruplet. Nous supposerons donc que le système + ne créera pas plus de 65536 processus en une seconde (ce nombre peut + être de 32768 sous certains Unixes, mais même dans ce cas, on est en + général loin de cette situation). + +Il est possible que le temps se répète pour une raison quelconque. - Supposons par exemple que l'horloge système soit retardée et repasse - par un temps passé (ou bien, comme elle avançait, elle a été remise - à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut - être facilement démontré que le couple pid/repère de temps peut être - réutilisé. Le choix de la formule d'initialisation du compteur a - été effectué dans l'intention de pallier ce problème. Notez qu'un - nombre vraiment aléatoire serait souhaitable pour initialiser le + Supposons par exemple que l'horloge système soit retardée et repasse + par un temps passé (ou bien, comme elle avançait, elle a été remise + à l'heure, et elle repasse par un temps futur). Dans ce cas, il peut + être facilement démontré que le couple pid/repère de temps peut être + réutilisé. Le choix de la formule d'initialisation du compteur a + été effectué dans l'intention de pallier ce problème. Notez qu'un + nombre vraiment aléatoire serait souhaitable pour initialiser le compteur, mais il n'existe pas de tel nombre directement lisible sur - la plupart des systèmes (c'est à dire que vous ne pouvez pas - utiliser rand() car vous devez déclencher le générateur avec une - valeur unique, et vous ne pouvez pas utiliser le temps à cet effet - car celui-ci , au moins à la seconde près, s'est répété). Il ne - s'agit donc pas d'une défense parfaite. - -Même si elle n'est pas parfaite, quel est le degré d'efficacité - de cette défense ? Supposons - qu'une de vos machines serve au plus 500 requêtes par seconde (ce - qui constitue une limite supérieure très raisonnable au moment où ce - document est écrit, car les systèmes ne se contentent en général pas - de débiter des fichiers statiques). Pour y parvenir, un certain nombre - de processus enfants sera nécessaire, qui dépendra du nombre de - clients simultanés présents. Mais soyons pessimiste et supposons - qu'un seul processus enfant soit capable de servir 500 requêtes par + la plupart des systèmes (c'est à dire que vous ne pouvez pas + utiliser rand() car vous devez déclencher le générateur avec une + valeur unique, et vous ne pouvez pas utiliser le temps à cet effet + car celui-ci , au moins à la seconde près, s'est répété). Il ne + s'agit donc pas d'une défense parfaite. + +Même si elle n'est pas parfaite, quel est le degré d'efficacité + de cette défense ? Supposons + qu'une de vos machines serve au plus 500 requêtes par seconde (ce + qui constitue une limite supérieure très raisonnable au moment où ce + document est écrit, car les systèmes ne se contentent en général pas + de débiter des fichiers statiques). Pour y parvenir, un certain nombre + de processus enfants sera nécessaire, qui dépendra du nombre de + clients simultanés présents. Mais soyons pessimiste et supposons + qu'un seul processus enfant soit capable de servir 500 requêtes par secondes. - Il existe 1000 valeurs de démarrage possibles du compteur pour - lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il - y a donc 1,5% de chance que le processus enfant répète une valeur de - compteur si le temps se répète (avec une résolution d'une seconde), - et l'unicité sera alors remise en cause. C'est cependant un exemple - très pessimiste, et avec les valeurs du monde réel, il y a bien + Il existe 1000 valeurs de démarrage possibles du compteur pour + lesquelles deux séquences de 500 requêtes puissent se recouvrir. Il + y a donc 1,5% de chance que le processus enfant répète une valeur de + compteur si le temps se répète (avec une résolution d'une seconde), + et l'unicité sera alors remise en cause. C'est cependant un exemple + très pessimiste, et avec les valeurs du monde réel, il y a bien moins de chances que cela ne se produise. Si vous estimez que ceci a - tout de même quelque chances de se produire sur votre système, vous - pouvez migrer vers un compteur à 32 bits (en modifiant le code). + tout de même quelque chances de se produire sur votre système, vous + pouvez migrer vers un compteur à 32 bits (en modifiant le code).On pourrait supposer que ceci a plus de chance de se produire - lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela - ne constitue cependant pas un problème car les temps pris en compte + lors du passage à l'heure d'hiver où l'horloge est "retardée". Cela + ne constitue cependant pas un problème car les temps pris en compte ici sont des temps UTC, qui vont "toujours" de l'avant. Notez que - les Unixes à base de processeur x86 peuvent nécessiter une - configuration particulière pour que ceci soit vrai -- il doivent - être configurés pour assumer que l'horloge système est en UTC et - compenser de manière appropriée. Mais même dans ce cas, si vous - utilisez NTP, votre temps UTC sera correct peu après le - redémarrage. + les Unixes à base de processeur x86 peuvent nécessiter une + configuration particulière pour que ceci soit vrai -- il doivent + être configurés pour assumer que l'horloge système est en UTC et + compenser de manière appropriée. Mais même dans ce cas, si vous + utilisez NTP, votre temps UTC sera correct peu après le + redémarrage.La variable d'environnement UNIQUE_IDs en ne testant que leur égalité.
- L'ordre a été choisi de façon à ce qu'il soit possible de - modifier le codage dans le futur sans avoir à se préoccuper de - conflits éventuels avec une base de données de + L'ordre a été choisi de façon à ce qu'il soit possible de
+ modifier le codage dans le futur sans avoir à se préoccuper de
+ conflits éventuels avec une base de données de
Nous pensons que ceci apporte une solution relativement portable - au problème. Les - identifiants générés possèdent une durée de vie pratiquement infinie - car les identifiants futurs pourront être allongés selon les + au problème. Les + identifiants générés possèdent une durée de vie pratiquement infinie + car les identifiants futurs pourront être allongés selon les besoins. Pratiquement aucune communication n'est requise entre les machines du cluster (seule la synchronisation NTP est requise, ce - qui représente une charge très faible), et aucune communication - entre les processus httpd n'est nécessaire (la communication est - implicite et incluse dans le pid assigné par le noyau). Dans des - situations très spécifiques, l'identifiant peut être raccourci, mais - dans ce cas, d'avantage d'informations doivent être admises (par + qui représente une charge très faible), et aucune communication + entre les processus httpd n'est nécessaire (la communication est + implicite et incluse dans le pid assigné par le noyau). Dans des + situations très spécifiques, l'identifiant peut être raccourci, mais + dans ce cas, d'avantage d'informations doivent être admises (par exemple, les 32 bits de l'adresse IP sont excessifs pour la plupart des sites, mais il n'existe pas de valeur de remplacement portable plus courte). diff --git a/docs/manual/mod/mod_version.xml.fr b/docs/manual/mod/mod_version.xml.fr index c7c503f76b..ec708b4a87 100644 --- a/docs/manual/mod/mod_version.xml.fr +++ b/docs/manual/mod/mod_version.xml.fr @@ -24,19 +24,19 @@Ce module a été conçu pour être utilisé dans les suites de tests - et les grands réseaux qui doivent prendre en compte différentes - versions de httpd et différentes configurations. Il fournit un + Ce module a été conçu pour être utilisé dans les suites de tests
+ et les grands réseaux qui doivent prendre en compte différentes
+ versions de httpd et différentes configurations. Il fournit un
nouveau conteneur -- La section
En plus d'une comparaison numérique, il est possible de comparer + En plus d'une comparaison numérique, il est possible de comparer
la version de httpd avec une
Ici, 'Unix' sous-entend les systèmes d'exploitation de type
+ Ici, 'Unix' sous-entend les systèmes d'exploitation de type
Unix, comme Linux, BSD, Solaris, Mac OS X, etc... Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM -à installer est orienté par deux questions : -1. Est-ce que le système supporte les threads ? -2. Est-ce que le système supporte le polling thread-safe (et en + Dans le cas des systèmes d'exploitation de type Unix, le choix du MPM +à installer est orienté par deux questions : +1. Est-ce que le système supporte les threads ? +2. Est-ce que le système supporte le polling thread-safe (et en particulier les fonctions kqueue et epoll) ? -Si la réponse aux deux questions est 'oui', le MPM par défaut sera + Si la réponse aux deux questions est 'oui', le MPM par défaut sera
Si la réponse à la première question est 'oui', et la réponse à la
-deuxième 'non', le MPM par défaut sera Si la réponse à la première question est 'oui', et la réponse à la
+deuxième 'non', le MPM par défaut sera Si la réponse aux deux questions est 'non', le MPM par défaut sera + Si la réponse aux deux questions est 'non', le MPM par défaut sera
En pratique, cela signifie que le MPM par défaut sera presque
-toujours En pratique, cela signifie que le MPM par défaut sera presque
+toujours Les modules MPM peuvent être compilés en tant que modules + Les modules MPM peuvent être compilés en tant que modules statiques sur toutes les plates-formes. A la compilation d'Apache, un -seul module MPM doit être choisi pour être compilé et lié avec le -serveur. La recompilation du serveur sera donc nécessaire si vous +seul module MPM doit être choisi pour être compilé et lié avec le +serveur. La recompilation du serveur sera donc nécessaire si vous souhaitez changer de module MPM. -Pour choisir un module MPM autre que le MPM par défaut, + Pour choisir un module MPM autre que le MPM par défaut,
utiliser l'argument
Une fois le serveur compilé, il est possible de savoir quel MPM
- a été choisi à l'aide de la commande Une fois le serveur compilé, il est possible de savoir quel MPM
+ a été choisi à l'aide de la commande Sous Unix et les plates-formes similaires, les modules MPM
- peuvent être compilés en tant que modules DSO et chargés
+ peuvent être compilés en tant que modules DSO et chargés
dynamiquement dans le serveur comme tout module DSO. Compiler les
modules MPM en tant que modules DSO permet de changer de MPM en
modifiant la directive Toute tentative de charger plusieurs modules MPM via la directive
- Cette fonctionnalité est activée via l'option + Cette fonctionnalité est activée via l'option
Le module MPM par défaut, sélectionné automatiquement ou spécifié + Le module MPM par défaut, sélectionné automatiquement ou spécifié
via l'option Ce document décrit quelques uns des changements principaux entre + Ce document décrit quelques uns des changements principaux entre les versions 2.0 et 2.2 du serveur HTTP Apache. Pour les - nouvelles fonctionnalités ajoutées depuis la version 1.3, se - référer au document + nouvelles fonctionnalités ajoutées depuis la version 1.3, se + référer au document 2.0 new features.
Le script Le script Si votre installation d'Apache utilise des chemins non
- standards, vous devrez éditer le script Le script Le script En mode frontal (pass-through), En mode frontal (pass-through),
En mode script d'initialisation SysV,
Seules les options du style initialisation SysV sont décrites ici. -Les autres arguments sont décrits dans la page de manuel de + Seules les options du style initialisation SysV sont décrites ici.
+Les autres arguments sont décrits dans la page de manuel de
Les options suivantes étaient disponibles dans les anciennes versions -et ont été supprimées. +Les options suivantes étaient disponibles dans les anciennes versions +et ont été supprimées.
Avant d'aller plus loin, et si ce n'est déjà fait, veuillez + Avant d'aller plus loin, et si ce n'est déjà fait, veuillez
consulter le document Configuration des logs
dans la documentation du module
Nous allons tout d'abord définir les URLs des logs où les - certificats sont enregistrés : +Nous allons tout d'abord définir les URLs des logs où les + certificats sont enregistrés : Nous pouvons maintenant attribuer une clé publique à un log où le - certificat de notre seul serveur d'arrière-plan est publié. Dans notre + Nous pouvons maintenant attribuer une clé publique à un log où le + certificat de notre seul serveur d'arrière-plan est publié. Dans notre cas, il s'agit du log dont l'URL est http://log2.example.com/, et qui - a déjà été configuré. + a déjà été configuré.
Lors de son enregistrement, chaque connexion est placée dans un - fichier dédié dont le nom est généré à partir de l'UUID de la - connexion dans le flux. Si le flux comporte des requêtes et des - réponses, ces dernières feront l'objet de fichiers séparés. +Lors de son enregistrement, chaque connexion est placée dans un + fichier dédié dont le nom est généré à partir de l'UUID de la + connexion dans le flux. Si le flux comporte des requêtes et des + réponses, ces dernières feront l'objet de fichiers séparés. -Si le paramètre optionnel prefix est spécifié, les connexions qui - commencent par le préfixe donné seront incluses. Le préfixe doit - correspondre exactement au premier fragment pour un résultat de + Si le paramètre optionnel prefix est spécifié, les connexions qui + commencent par le préfixe donné seront incluses. Le préfixe doit + correspondre exactement au premier fragment pour un résultat de comparaison positif.
Ce script perl a été conçu pour être exécuté à intervalles - réguliers via un déclencheur de type cron. Il se connecte au serveur - pour en extraire des informations quant à son état. Il formate ces + Ce script perl a été conçu pour être exécuté à intervalles
+ réguliers via un déclencheur de type cron. Il se connecte au serveur
+ pour en extraire des informations quant à son état. Il formate ces
informations sous la forme d'une seule ligne qu'il enregistre dans
- un fichier. Vous devez éditer la valeur des variables en tête de
- script afin de définir le chemin du fichier de sortie. Pour que ce
+ un fichier. Vous devez éditer la valeur des variables en tête de
+ script afin de définir le chemin du fichier de sortie. Pour que ce
script puisse fonctionner, Ces variables doivent contenir des valeurs correctes, et le
-gestionnaire /server-status doit être configuré pour le
+répertoire considéré. En outre, l'utilisateur qui exécute le script doit
+avoir les droits d'écriture sur le chemin du fichier de sortie.
-L'exécution périodique du script via cron permet d'obtenir un jeu de -rapports d'état qui pourra être utilisé à des fins d'analyse + L'exécution périodique du script via cron permet d'obtenir un jeu de +rapports d'état qui pourra être utilisé à des fins d'analyse statistique. diff --git a/docs/manual/programs/other.xml.fr b/docs/manual/programs/other.xml.fr index 8de69d83e8..4f836677d1 100644 --- a/docs/manual/programs/other.xml.fr +++ b/docs/manual/programs/other.xml.fr @@ -29,9 +29,9 @@Cette page contenait la documentation de programmes qui possèdent + Cette page contenait la documentation de programmes qui possèdent maintenant leurs propres pages de documentation. Merci de bien - vouloir mettre à jour vos liens. + vouloir mettre à jour vos liens.Ce script perl permet d'extraire un journal pour chaque serveur
- virtuel à partir d'un journal d'accès global du serveur web. Pour
+ virtuel à partir d'un journal d'accès global du serveur web. Pour
que ce script fonctionne, le premier champ de chaque ligne du
- journal global doit contenir l'identité du serveur virtuel ; ce
- champ aura été ajouté à la directive Création d'un fichier journal comportant l'identité du serveur - virtuel considéré : +Création d'un fichier journal comportant l'identité du serveur + virtuel considéré : Un fichier journal sera créé dans le répertoire à partir duquel - vous exécutez le script pour chaque serveur virtuel qui apparaît - dans le journal global. Ces fichiers journaux seront nommés à partir - du nom du serveur virtuel considéré, avec l'extension + Un fichier journal sera créé dans le répertoire à partir duquel
+ vous exécutez le script pour chaque serveur virtuel qui apparaît
+ dans le journal global. Ces fichiers journaux seront nommés à partir
+ du nom du serveur virtuel considéré, avec l'extension
Le fichier journal global est lu depuis l'entrée standard stdin. - Les entrées de ce journal sont alors ajoutées au journal du serveur + Le fichier journal global est lu depuis l'entrée standard stdin. + Les entrées de ce journal sont alors ajoutées au journal du serveur virtuel correspondant.
root. A cet effet, comme le
+ démon HTTP ne s'exécute en général pas en tant que
+ root, l'exécutable root. Seul
+ root doit en posséder les droits en écriture.
- Pour plus d'informations à propos des concepts et du modèle de - sécurité du programme suexec, veuillez vous reporter à sa + Pour plus d'informations à propos des concepts et du modèle de + sécurité du programme suexec, veuillez vous reporter à sa documentation : http://httpd.apache.org/docs/&httpd.docs;/suexec.html. @@ -53,10 +53,10 @@ externe
Ce document explique le fonctionnement de certaines directives du serveur -de base qui sont utilisées pour configurer les opérations élémentaires du +de base qui sont utilisées pour configurer les opérations élémentaires du serveur. Les directives Le serveur utilise les directives
Ces directives contrôlent la localisation des différents fichiers - nécessaires au bon fonctionnement de httpd. Quand le chemin utilisé ne + Ces directives contrôlent la localisation des différents fichiers
+ nécessaires au bon fonctionnement de httpd. Quand le chemin utilisé ne
commence pas par un slash (/), la localisation des fichiers est relative
- à la valeur de la directive
+ Ã la valeur de la directive
Les directives Les directives La directive La directive Le module La documentation complète sur les directives et les variables + La documentation complète sur les directives et les variables d'environnement fournies par ce module se trouve dans la -documentation de référence de mod_ssl. +documentation de référence de mod_ssl. Ce document couvre la compatibilité ascendante entre mod_ssl et + Ce document couvre la compatibilité ascendante entre mod_ssl et d'autres solutions SSL. mod_ssl n'est pas la seule solution SSL pour Apache ; -quatre autres produits sont (ou ont été) également disponibles : +quatre autres produits sont (ou ont été) également disponibles : Apache-SSL, le produit libre de -Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure -Web Server, un produit commercial de Red Hat (basé sur mod_ssl), +Ben Laurie (d'où mod_ssl est issu à l'origine en 1998), Secure +Web Server, un produit commercial de Red Hat (basé sur mod_ssl), Raven SSL Module, un produit commercial -de Covalent (basé lui aussi sur mod_ssl), et enfin Stronghold, produit -commercial de C2Net et maintenant de Red Hat, (basé sur une branche -d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur +commercial de C2Net et maintenant de Red Hat, (basé sur une branche +d'évolution différente appelée Sioux jusqu'à Stronghold 2.x et basé sur mod_ssl depuis Stronghold 3.x). -En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de -celles des autres solutions SSL, si bien qu'il est très simple de + En plus de ses fonctionnalités propres, mod_ssl rassemble la plupart de +celles des autres solutions SSL, si bien qu'il est très simple de migrer depuis un module plus ancien vers mod_ssl. Les directives de -configuration et les noms des variables d'environnement utilisés par les -solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ; -les tableaux de correspondance ci-dessous fournissent les équivalences -de termes utilisés par mod_ssl. +configuration et les noms des variables d'environnement utilisés par les +solutions SSL plus anciennes diffèrent de ceux qu'utilise mod_ssl ; +les tableaux de correspondance ci-dessous fournissent les équivalences +de termes utilisés par mod_ssl.La correspondance entre les directives de configuration qu'utilise Apache-SSL 1.x et mod_ssl 2.0.x est fournie dans le Tableau 1. La correspondance depuis Sioux 1.x et Stronghold 2.x n'est que -partielle car certaines fonctionnalités de ces interfaces ne sont pas -supportées par mod_ssl. +partielle car certaines fonctionnalités de ces interfaces ne sont pas +supportées par mod_ssl.Ancienne directive | Directive mod_ssl | Commentaires | Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x : | Compatibilité entre Apache-SSL 1.x et mod_ssl 2.0.x : | SSLEnableSSLEngine onplus compacte | SSLDisableSSLEngine offplus compacte | SSLLogFile
-fileUtilisez plutôt la directive
+file | Utilisez plutôt la directive
de niveau module | SSLRequiredCiphers specSSLCipherSuite specrenommée | SSLRequiredCiphers specSSLCipherSuite specrenommée | SSLRequireCipher c1 ...SSLRequire %{SSL_CIPHER} in {"c1",
-...}plus générale | plus générale |
SSLBanCipher c1 ...SSLRequire not (%{SSL_CIPHER} in {"c1",
-...})plus générale | SSLFakeBasicAuthSSLOptions +FakeBasicAuthrassemblées | SSLCacheServerPath dir- | fonctionnalité supprimée | plus générale |
+SSLFakeBasicAuthSSLOptions +FakeBasicAuthrassemblées | SSLCacheServerPath dir- | fonctionnalité supprimée | SSLCacheServerPort integer- | fonctionnalité supprimée | Compatibilité avec Apache-SSL 1.x : | SSLExportClientCertificatesSSLOptions +ExportCertDatarassemblées | SSLCacheServerRunDir dir- | fonctionnalité non supportée | SSLCacheServerPort integer- | fonctionnalité supprimée | Compatibilité avec Apache-SSL 1.x : | SSLExportClientCertificatesSSLOptions +ExportCertDatarassemblées | SSLCacheServerRunDir dir- | fonctionnalité non supportée | Compatibilité avec Sioux 1.x : | SSL_CertFile fileSSLCertificateFile filerenommée | SSL_KeyFile fileSSLCertificateKeyFile filerenommée | Compatibilité avec Sioux 1.x : | SSL_CertFile fileSSLCertificateFile filerenommée | SSL_KeyFile fileSSLCertificateKeyFile filerenommée | SSL_CipherSuite argSSLCipherSuite argrenommée | SSL_X509VerifyDir argSSLCACertificatePath argrenommée | SSL_CipherSuite argSSLCipherSuite argrenommée | SSL_X509VerifyDir argSSLCACertificatePath argrenommée | SSL_Log
-file-Utilisez plutôt la directive
+file | -Utilisez plutôt la directive
de niveau module | SSL_Connect flagSSLEngine flagrenommée | SSL_ClientAuth argSSLVerifyClient argrenommée | SSL_X509VerifyDepth argSSLVerifyDepth argrenommée | SSL_Connect flagSSLEngine flagrenommée | SSL_ClientAuth argSSLVerifyClient argrenommée | SSL_X509VerifyDepth argSSLVerifyDepth argrenommée | SSL_FetchKeyPhraseFrom arg- | pas de véritable équivalent ; utiliser SSLPassPhraseDialog | SSL_SessionDir dir- | pas de véritable équivalent ; utiliser SSLSessionCache | SSL_Require expr- | pas de véritable équivalent ; utiliser SSLRequire | SSL_FetchKeyPhraseFrom arg- | pas de véritable équivalent ; utiliser SSLPassPhraseDialog | SSL_SessionDir dir- | pas de véritable équivalent ; utiliser SSLSessionCache | SSL_Require expr- | pas de véritable équivalent ; utiliser SSLRequire | SSL_CertFileType arg- | fonctionnalité non supportée | SSL_KeyFileType arg- | fonctionnalité non supportée | SSL_X509VerifyPolicy arg- | fonctionnalité non supportée | SSL_CertFileType arg- | fonctionnalité non supportée | SSL_KeyFileType arg- | fonctionnalité non supportée | SSL_X509VerifyPolicy arg- | fonctionnalité non supportée | SSL_LogX509Attributes arg- | fonctionnalité non supportée | Compatibilité avec Stronghold 2.x : | StrongholdAccelerator engineSSLCryptoDevice enginerenommée | SSL_LogX509Attributes arg- | fonctionnalité non supportée | Compatibilité avec Stronghold 2.x : | StrongholdAccelerator engineSSLCryptoDevice enginerenommée | StrongholdKey dir- | sans objet | StrongholdLicenseFile dir- | sans objet | SSLFlag flagSSLEngine flagrenommée | SSLSessionLockFile fileSSLMutex filerenommée | SSLFlag flagSSLEngine flagrenommée | SSLSessionLockFile fileSSLMutex filerenommée | SSLCipherList specSSLCipherSuite specrenommée | RequireSSLSSLRequireSSLrenommée | SSLErrorFile file- | fonctionnalité non supportée | SSLCipherList specSSLCipherSuite specrenommée | RequireSSLSSLRequireSSLrenommée | SSLErrorFile file- | fonctionnalité non supportée | SSLRoot dir- | fonctionnalité non supportée | SSL_CertificateLogDir dir- | fonctionnalité non supportée | AuthCertDir dir- | fonctionnalité non supportée | SSLRoot dir- | fonctionnalité non supportée | SSL_CertificateLogDir dir- | fonctionnalité non supportée | AuthCertDir dir- | fonctionnalité non supportée | SSL_Group name- | fonctionnalité non supportée | SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenommée | SSLProxyMachineCertFile fileSSLProxyMachineCertificateFile filerenommée | SSL_Group name- | fonctionnalité non supportée | SSLProxyMachineCertPath dirSSLProxyMachineCertificatePath dirrenommée | SSLProxyMachineCertFile fileSSLProxyMachineCertificateFile filerenommée | SSLProxyCipherList specSSLProxyCipherSpec specrenommée | SSLProxyCipherList specSSLProxyCipherSpec specrenommée | La correspondance entre les noms des variables d'environnement utilisés par -les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie + La correspondance entre les noms des variables d'environnement utilisés par +les solutions SSL plus anciennes et les noms utilisés par mod_ssl est fournie dans le Tableau 2.
Quand mod_ssl est activé, le Quand mod_ssl est activé, le Format de journal courant
-(Custom Log Format) du module %...{version}cVersion du protocole SSL | %...{cipher}cChiffrement SSL | %...{subjectdn}cNom distinctif du sujet du certificat du client | %...{issuerdn}cNom distinctif de l'émetteur du certificat du client | %...{errcode}cErreur lors de la vérification du certificat (numérique) | %...{issuerdn}cNom distinctif de l'émetteur du certificat du client | %...{errcode}cErreur lors de la vérification du certificat (numérique) | %...{errstr}cErreur lors de la vérification du certificat (chaîne de caractères) | %...{errstr}cErreur lors de la vérification du certificat (chaîne de caractères) | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-@@ -37,44 +37,44 @@Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions
+Le sage n'apporte pas de bonnes réponses, il pose les bonnes questions
-- Claude Levi-Strauss
Des erreurs telles que ``mod_ssl: Child could not open
SSLMutex lockfile /opt/apache/logs/ssl_mutex.18332 (avec l'erreur
- système qui suit) [...] System: Permission denied (errno: 13)''
- sont souvent provoquées par des permissions trop restrictives sur les
- répertoires parents. Assurez-vous que tous les répertoires
+ système qui suit) [...] System: Permission denied (errno: 13)''
+ sont souvent provoquées par des permissions trop restrictives sur les
+ répertoires parents. Assurez-vous que tous les répertoires
parents (ici /opt, /opt/apache et
- /opt/apache/logs) ont le bit x positionné au moins pour
- l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la
+ /opt/apache/logs) ont le bit x positionné au moins pour
+ l'UID sous lequel les processus enfants d'Apache s'exécutent (voir la
directive
Pour fonctionner correctement, les logiciels de cryptographie ont
- besoin d'une source de données aléatoires. De nombreux systèmes
- d'exploitation libres proposent un "périphérique source d'entropie"
- qui fournit ce service (il se nomme en général
- /dev/random). Sur d'autres systèmes, les applications
+ besoin d'une source de données aléatoires. De nombreux systèmes
+ d'exploitation libres proposent un "périphérique source d'entropie"
+ qui fournit ce service (il se nomme en général
+ /dev/random). Sur d'autres systèmes, les applications
doivent amorcer manuellement
- le Générateur de Nombres Pseudo-Aléatoires d'OpenSSL
- (Pseudo Random Number Generator -PRNG) à l'aide de données appropriées
- avant de générer des clés ou d'effectuer un chiffrement à clé
- publique. Depuis la version 0.9.5, les fonctions d'OpenSSL qui nécessitent
- des données aléatoires provoquent une erreur si le PRNG n'a pas été amorcé
- avec une source de données aléatoires d'au moins 128 bits.
Pour éviter cette erreur,
Pour éviter cette erreur,
SSL_XXX
ne sont-elles pas disponibles dans mes scripts CGI et SSI ?Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port +
Oui. HTTP et HTTPS utilisent des ports différents (HTTP écoute le port 80 et HTTPS le port 443), si bien qu'il n'y a pas de conflit direct entre - les deux. Vous pouvez soit exécuter deux instances séparées du serveur, - chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante - fonctionnalité d'Apache que constituent les hôtes virtuels pour créer - deux serveurs virtuels gérés par la même instance d'Apache - le - premier serveur répondant en HTTP aux requêtes sur le port 80, - le second répondant en HTTPS aux requêtes sur le port + les deux. Vous pouvez soit exécuter deux instances séparées du serveur, + chacune d'entre elles écoutant l'un de ces ports, soit utiliser l'élégante + fonctionnalité d'Apache que constituent les hôtes virtuels pour créer + deux serveurs virtuels gérés par la même instance d'Apache - le + premier serveur répondant en HTTP aux requêtes sur le port 80, + le second répondant en HTTPS aux requêtes sur le port 443.
Vous pouvez associer le protocole HTTPS à n'importe quel port, mais le port +
Vous pouvez associer le protocole HTTPS Ã n'importe quel port, mais le port
standard est le port 443, que tout navigateur compatible HTTPS va utiliser par
-défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le
-précisant dans l'URL. Par exemple, si votre serveur est configuré pour
-servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par
+défaut. Vous pouvez forcer votre navigateur à utiliser un port différent en le
+précisant dans l'URL. Par exemple, si votre serveur est configuré pour
+servir des pages en HTTPS sur le port 8080, vous pourrez y accéder par
l'adresse https://example.com:8080/.
Alors que vous utilisez simplement
@@ -128,21 +128,21 @@ de test ?pour tester facilement Apache via HTTP, les choses ne sont pas si
- simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP.
+ simples pour HTTPS à cause du protocole SSL situé entre TCP et HTTP.
La commande OpenSSL s_client vous permet cependant
d'effectuer un test similaire via HTTPS :
Avant la véritable réponse HTTP, vous recevrez des informations - détaillées à propos de l'établissement de la connexion SSL. Si vous - recherchez un client en ligne de commande à usage plus général qui comprend - directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST, - peut utiliser un mandataire, supporte les requêtes portant sur une partie +
Avant la véritable réponse HTTP, vous recevrez des informations + détaillées à propos de l'établissement de la connexion SSL. Si vous + recherchez un client en ligne de commande à usage plus général qui comprend + directement HTTP et HTTPS, qui peut effectuer des opérations GET et POST, + peut utiliser un mandataire, supporte les requêtes portant sur une partie d'un fichier (byte-range), etc..., vous devriez vous tourner vers - l'excellent outil cURL. Grâce à lui, - vous pouvez vérifier si Apache répond correctement aux requêtes via + l'excellent outil cURL. Grâce à lui, + vous pouvez vérifier si Apache répond correctement aux requêtes via HTTP et HTTPS comme suit :
Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou à +me connecte à mon serveur Apache configuré pour SSL ? +
Ceci peut arriver si vous vous connectez à un serveur HTTPS (ou Ã
un serveur virtuel) via HTTP (par exemple, en utilisant
http://example.com/ au lieu de https://example.com).
-Cela peut aussi arriver en essayant de vous connecter via HTTPS à un
+Cela peut aussi arriver en essayant de vous connecter via HTTPS Ã un
serveur HTTP (par exemple, en utilisant https://example.com/
avec un serveur qui ne supporte pas HTTPS, ou le supporte, mais sur un
-port non standard). Assurez-vous que vous vous connectez bien à un
+port non standard). Assurez-vous que vous vous connectez bien à un
serveur (virtuel) qui supporte SSL.
Une configuration incorrecte peut provoquer ce type d'erreur.
Assurez-vous que vos directives
SSL_XXX
ne sont-elles pas disponibles dans mes scripts CGI et SSI ?Assurez-vous que la directive ``SSLOptions +StdEnvVars'' est
-bien présente dans le contexte de vos requêtes CGI/SSI.
Normalement, pour basculer entre HTTP et HTTPS, vous devez utiliser des
-hyperliens pleinement qualifiés (car vous devez modifier le schéma de l'URL).
-Cependant, à l'aide du module
Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la +
Ce jeu de règles rewrite vous permet d'utiliser des hyperliens de la
forme <a href="document.html_SSL"> pour passer en HTTPS
dans les liens relatifs. (Remplacez SSL par NOSSL pour passer en HTTP.)
Un fichier de clé privée RSA est un fichier numérique que vous pouvez -utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son -pendant à caractère public que vous pouvez distribuer (par le biais de votre +
Un fichier de clé privée RSA est un fichier numérique que vous pouvez +utiliser pour déchiffrer des messages que l'on vous a envoyés. Il a son +pendant à caractère public que vous pouvez distribuer (par le biais de votre certificat), ce qui permet aux utilisateurs de chiffrer les messages qu'ils vous envoient.
-Une Demande de Signature de Certificat (CSR) est un fichier numérique - qui contient votre clé publique et votre nom. La CSR doit être envoyée à - une Autorité de Certification (CA), qui va la convertir en vrai certificat +
Une Demande de Signature de Certificat (CSR) est un fichier numérique + qui contient votre clé publique et votre nom. La CSR doit être envoyée à + une Autorité de Certification (CA), qui va la convertir en vrai certificat en la signant.
-Un certificat contient votre clé publique RSA, votre nom, le nom - de la CA, et est signé numériquement par cette dernière. Les navigateurs - qui reconnaissent la CA peuvent vérifier la signature du certificat, et - ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer - des messages chiffrés que vous seul pourrez déchiffrer.
-Se référer au chapitre Introduction - pour une description générale du protocole SSL.
+Un certificat contient votre clé publique RSA, votre nom, le nom + de la CA, et est signé numériquement par cette dernière. Les navigateurs + qui reconnaissent la CA peuvent vérifier la signature du certificat, et + ainsi en extraire votre clé publique RSA. Ceci leur permet de vous envoyer + des messages chiffrés que vous seul pourrez déchiffrer.
+Se référer au chapitre Introduction + pour une description générale du protocole SSL.
Oui. En général, avec ou sans
Oui. En général, avec ou sans
Devoir entrer manuellement le mot de passe au démarrage du serveur peut - poser quelques problèmes - par exemple, quand le serveur est démarré au - moyen de scripts au lancement du système. Dans ce cas, vous pouvez suivre - les étapes ci-dessous pour supprimer le - mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente - les risques de sécurité - agissez avec précaution !
+Devoir entrer manuellement le mot de passe au démarrage du serveur peut + poser quelques problèmes - par exemple, quand le serveur est démarré au + moyen de scripts au lancement du système. Dans ce cas, vous pouvez suivre + les étapes ci-dessous pour supprimer le + mot de passe de votre clé privée. Gardez à l'esprit qu'agir ainsi augmente + les risques de sécurité - agissez avec précaution !
PATH.server.key et server.crt :$ openssl req -new -x509 -nodes -out server.crt
-keyout server.keyhttpd.conf :
server.key n'a
- pas de mot de passe. Pour ajouter un mot de passe à la clé, vous
- devez exécuter la commande suivante et confirmer le mot de passe comme
- demandé.$ openssl rsa -des3 -in server.key -out
server.key.new
$ mv server.key.new server.key
server.key ainsi que son mot de
- passe en lieu sûr.
+ passe en lieu sûr.
Voici la marche à suivre pas à pas :
+Voici la marche à suivre pas à pas :
PATH.
+ PATH.
$ openssl genrsa -des3 -out server.key 2048server.key et le mot de passe
- éventuellement défini en lieu sûr.
- Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
commande :$ openssl rsa -noout -text -in server.key$ openssl rsa -in server.key -out server.key.unsecure$ openssl req -new -key server.key -out server.csrhttps://www.foo.dom/, le FQDN sera "www.foo.dom". Vous
- pouvez afficher les détails de ce CSR avec :$ openssl req -noout -text -in server.csr$ openssl x509 -noout -text -in server.crtserver.key et server.crt. Ils sont précisés dans
+ server.key et server.crt. Ils sont précisés dans
votre fichier httpd.conf comme suit :
server.csr n'est plus nécessaire.
+ Le fichier server.csr n'est plus nécessaire.
La solution la plus simple consiste à utiliser les scripts +
La solution la plus simple consiste à utiliser les scripts
CA.sh ou CA.pl fournis avec OpenSSL. De
- préférence, utilisez cette solution, à moins que vous ayez de bonnes
- raisons de ne pas le faire. Dans ce dernier cas, vous pouvez créer un
- certificat auto-signé comme suit :
$ openssl genrsa -des3 -out server.key 2048server.key et le mot de passe
- éventuellement défini en lieu sûr.
- Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
+ éventuellement défini en lieu sûr.
+ Vous pouvez afficher les détails de cette clé privée RSA à l'aide de la
commande :$ openssl rsa -noout -text -in server.key$ openssl rsa -in server.key -out server.key.unsecure$ openssl req -new -x509 -nodes -sha1 -days 365
-key server.key -out server.crt -extensions usr_certserver.crt. Vous pouvez afficher les détails de ce
+ server.crt. Vous pouvez afficher les détails de ce
certificat avec :$ openssl x509 -noout -text -in server.crtVous devez simplement lire la clé avec l'ancien mot de passe et la -réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez +de ma clé privée ?
Vous devez simplement lire la clé avec l'ancien mot de passe et la +réécrire en spécifiant le nouveau mot de passe. Pour cela, vous pouvez utiliser les commandes suivantes :
$ openssl rsa -des3 -in server.key -out server.key.new
$ mv server.key.new server.key
La première fois qu'il vous est demandé un mot de passe PEM, vous +
La première fois qu'il vous est demandé un mot de passe PEM, vous devez entrer l'ancien mot de passe. Ensuite, on vous demandera d'entrer encore un mot de passe - cette fois, entrez le nouveau mot de passe. Si on - vous demande de vérifier le mot de passe, vous devrez entrer le nouveau + vous demande de vérifier le mot de passe, vous devrez entrer le nouveau mot de passe une seconde fois.
L'apparition de ce dialogue au démarrage et à chaque redémarrage provient -du fait que la clé privée RSA contenue dans votre fichier server.key est -enregistrée sous forme chiffrée pour des raisons de sécurité. Le -déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être -lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de -sécurité du serveur - agissez avec précautions !
+L'apparition de ce dialogue au démarrage et à chaque redémarrage provient +du fait que la clé privée RSA contenue dans votre fichier server.key est +enregistrée sous forme chiffrée pour des raisons de sécurité. Le +déchiffrement de ce fichier nécessite un mot de passe, afin de pouvoir être +lu et interprété. Cependant, La suppression du mot de passe diminue le niveau de +sécurité du serveur - agissez avec précautions !
$ cp server.key server.key.orgMaintenant, server.key contient une copie non chiffrée de
- la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous
- demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir
- cette clé, il sera en mesure d'usurper votre identité sur le réseau.
- Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web
- peuvent lire ce fichier (de préférence, démarrez le serveur web sous
- root et faites le s'exécuter sous un autre utilisateur, en n'autorisant
- la lecture de la clé que par root).
Maintenant, server.key contient une copie non chiffrée de
+ la clé. Si vous utilisez ce fichier pour votre serveur, il ne vous
+ demandera plus de mot de passe. CEPENDANT, si quelqu'un arrive à obtenir
+ cette clé, il sera en mesure d'usurper votre identité sur le réseau.
+ Vous DEVEZ par conséquent vous assurer que seuls root ou le serveur web
+ peuvent lire ce fichier (de préférence, démarrez le serveur web sous
+ root et faites le s'exécuter sous un autre utilisateur, en n'autorisant
+ la lecture de la clé que par root).
Une autre alternative consiste à utiliser la directive +
Une autre alternative consiste à utiliser la directive
``SSLPassPhraseDialog exec:/chemin/vers/programme''. Gardez
- cependant à l'esprit que ce n'est bien entendu ni plus ni moins
- sécurisé.
Une clé privée contient une série de nombres. Deux de ces nombres forment la -"clé publique", les autres appartiennent à la "clé privée". Les bits de la -"clé publique" sont inclus quand vous générez une CSR, et font par -conséquent partie du certificat associé.
-Pour vérifier que la clé publique contenue dans votre certificat - correspond bien à la partie publique de votre clé privée, il vous suffit - de comparer ces nombres. Pour afficher le certificat et la clé, + cependant à l'esprit que ce n'est bien entendu ni plus ni moins + sécurisé.
+Une clé privée contient une série de nombres. Deux de ces nombres forment la +"clé publique", les autres appartiennent à la "clé privée". Les bits de la +"clé publique" sont inclus quand vous générez une CSR, et font par +conséquent partie du certificat associé.
+Pour vérifier que la clé publique contenue dans votre certificat + correspond bien à la partie publique de votre clé privée, il vous suffit + de comparer ces nombres. Pour afficher le certificat et la clé, utilisez cette commande :
$ openssl x509 -noout -text -in server.crt
$ openssl rsa -noout -text -in server.key
Les parties `modulus' et `public exponent' doivent être identiques dans - la clé et le certificat. Comme le `public exponent' est habituellement - 65537, et comme il est difficile de vérifier visuellement que les nombreux +
Les parties `modulus' et `public exponent' doivent être identiques dans + la clé et le certificat. Comme le `public exponent' est habituellement + 65537, et comme il est difficile de vérifier visuellement que les nombreux nombres du `modulus' sont identiques, vous pouvez utiliser l'approche suivante :
$ openssl x509 -noout -modulus -in server.crt | openssl md5
$ openssl rsa -noout -modulus -in server.key | openssl md5
Il ne vous reste ainsi que deux nombres relativement courts à comparer. - Il est possible, en théorie que ces deux nombres soient les mêmes, sans que +
Il ne vous reste ainsi que deux nombres relativement courts à comparer. + Il est possible, en théorie que ces deux nombres soient les mêmes, sans que les nombres du modulus soient identiques, mais les chances en sont infimes.
-Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR - particulière, vous pouvez effectuer le même calcul +
Si vous souhaitez vérifier à quelle clé ou certificat appartient une CSR + particulière, vous pouvez effectuer le même calcul sur la CSR comme suit :
$ openssl req -noout -modulus -in server.csr | openssl md5
Le format des certificats par défaut pour OpenSSL est le format PEM, -qui est tout simplement un format DER codé en Base64, avec des lignes -d'en-têtes et des annotations. Certaines applications, comme +
Le format des certificats par défaut pour OpenSSL est le format PEM,
+qui est tout simplement un format DER codé en Base64, avec des lignes
+d'en-têtes et des annotations. Certaines applications, comme
Microsoft Internet Explorer, ont besoin d'un certificat au format DER de base.
-Vous pouvez convertir un fichier PEM cert.pem en son équivalent
-au format DER cert.der à l'aide de la commande suivante :
+Vous pouvez convertir un fichier PEM cert.pem en son équivalent
+au format DER cert.der à l'aide de la commande suivante :
$ openssl x509 -in cert.pem -out cert.der
-outform DER
Ceci peut se produire si votre certificat de serveur est signé - par une autorité de certification intermédiaire. Plusieurs CAs, - comme Verisign ou Thawte, ont commencé à signer les certificats avec - des certificats intermédiaires au lieu de leur certificat racine.
- -Les certificats de CA intermédiaires se situe à un niveau - intermédiaire entre le certificat racine de la CA (qui est installé dans les - navigateurs) et le certificat du serveur (que vous avez installé sur - votre serveur). Pour que le navigateur puisse traverser et vérifier - la chaîne de confiance depuis le certificat du serveur jusqu'au +vérifier mon certificat de serveur ?
Ceci peut se produire si votre certificat de serveur est signé + par une autorité de certification intermédiaire. Plusieurs CAs, + comme Verisign ou Thawte, ont commencé à signer les certificats avec + des certificats intermédiaires au lieu de leur certificat racine.
+ +Les certificats de CA intermédiaires se situe à un niveau + intermédiaire entre le certificat racine de la CA (qui est installé dans les + navigateurs) et le certificat du serveur (que vous avez installé sur + votre serveur). Pour que le navigateur puisse traverser et vérifier + la chaîne de confiance depuis le certificat du serveur jusqu'au certificat racine, il faut lui fournir les certificats - intermédiaires. Les CAs devraient pouvoir fournir de tels - paquetages de certificats intermédiaires à installer sur les + intermédiaires. Les CAs devraient pouvoir fournir de tels + paquetages de certificats intermédiaires à installer sur les serveurs.
-Vous devez inclure ces certificats intermédiaires via la +
Vous devez inclure ces certificats intermédiaires via la
directive
Ce problème peut avoir plusieurs causes, mais la principale réside dans le -cache de session SSL défini par la directive +
Ce problème peut avoir plusieurs causes, mais la principale réside dans le
+cache de session SSL défini par la directive
SSL utilise un procédé de chiffrement fort qui nécessite la manipulation -d'une quantité très importante de nombres. Lorsque vous effectuez une requête -pour une page web via HTTPS, tout (même les images) est chiffré avant d'être -transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une +importante depuis qu'il sert des ressources chiffrées en SSL ?
SSL utilise un procédé de chiffrement fort qui nécessite la manipulation +d'une quantité très importante de nombres. Lorsque vous effectuez une requête +pour une page web via HTTPS, tout (même les images) est chiffré avant d'être +transmis. C'est pourquoi un accroissement du traffic HTTPS entraîne une augmentation de la charge.
Ce problème provient en général d'un périphérique Ce problème provient en général d'un périphérique En général, tous les algorithmes de chiffrement supportés par la version
-d'OpenSSL installée, le sont aussi par /dev/random
-qui bloque l'appel système read(2) jusqu'à ce que suffisamment d'entropie
-soit disponible pour servir la requête. Pour plus d'information, se référer au
-manuel de référence de la directive
+/dev/random
+qui bloque l'appel système read(2) jusqu'à ce que suffisamment d'entropie
+soit disponible pour servir la requête. Pour plus d'information, se référer au
+manuel de référence de la directive
En général, tous les algorithmes de chiffrement supportés par la version
+d'OpenSSL installée, le sont aussi par
Pour déterminer la liste réelle des algorithmes disponibles, vous +
Pour déterminer la liste réelle des algorithmes disponibles, vous pouvez utiliser la commande suivante :
Par défaut et pour des raisons de sécurité, OpenSSl ne permet pas +
Par défaut et pour des raisons de sécurité, OpenSSl ne permet pas l'utilisation des algorithmes de chiffrements ADH. Veuillez vous informer sur les effets pervers potentiels si vous choisissez d'activer le support de ces algorithmes de chiffrements.
Pour pouvoir utiliser les algorithmes de chiffrements Diffie-Hellman
anonymes (ADH), vous devez compiler OpenSSL avec
-``-DSSL_ALLOW_ADH'', puis ajouter ``ADH'' à votre
+``-DSSL_ALLOW_ADH'', puis ajouter ``ADH'' Ã votre
directive
Soit vous avez fait une erreur en définissant votre directive
extra/httpd-ssl.conf), soit vous avez
+l'exemple préconfiguré dans extra/httpd-ssl.conf), soit vous avez
choisi d'utiliser des algorithmes DSA/DH au lieu de RSA lorsque vous avez
-généré votre clé privée, et avez ignoré ou êtes passé outre les
+généré votre clé privée, et avez ignoré ou êtes passé outre les
avertissements. Si vous avez choisi DSA/DH, votre serveur est incapable de
-communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA
-(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA
+communiquer en utilisant des algorithmes de chiffrements SSL basés sur RSA
+(du moins tant que vous n'aurez pas configuré une paire clé/certificat RSA
additionnelle). Les navigateurs modernes tels que NS ou IE ne peuvent
communiquer par SSL qu'avec des algorithmes RSA. C'est ce qui provoque l'erreur
-"no shared ciphers". Pour la corriger, générez une nouvelle paire
-clé/certificat pour le serveur en utilisant un algorithme de chiffrement
+"no shared ciphers". Pour la corriger, générez une nouvelle paire
+clé/certificat pour le serveur en utilisant un algorithme de chiffrement
RSA.
La raison est très technique, et s'apparente au problème de la primauté de
+ La raison est très technique, et s'apparente au problème de la primauté de
l'oeuf ou de la poule. La couche du protocole SSL se trouve en dessous de la
-couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une
-connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramètres du
+couche de protocole HTTP qu'elle encapsule. Lors de l'établissement d'une
+connexion SSL (HTTPS), Apache/mod_ssl doit négocier les paramètres du
protocole SSL avec le client. Pour cela, mod_ssl doit consulter la
-configuration du serveur virtuel (par exemple, il doit accéder à la suite
+configuration du serveur virtuel (par exemple, il doit accéder à la suite
d'algorithmes de chiffrement, au certificat du serveur, etc...). Mais afin de
-sélectionner le bon serveur virtuel, Apache doit connaître le contenu du champ
-d'en-tête HTTP Host. Pour cela, il doit lire l'en-tête de la
-requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas
-terminée, or, la phase de négociation SSL a besoin du nom d'hôte contenu
-dans l'en-tête de la requête. Voir la question suivante pour
-contourner ce problème.Host. Pour cela, il doit lire l'en-tête de la
+requête HTTP. Mais il ne peut le faire tant que la négociation SSL n'est pas
+terminée, or, la phase de négociation SSL a besoin du nom d'hôte contenu
+dans l'en-tête de la requête. Voir la question suivante pour
+contourner ce problème.
Notez que si votre certificat comporte un nom de serveur avec - caractères génériques, ou des noms de serveurs multiples dans le + caractères génériques, ou des noms de serveurs multiples dans le champ subjectAltName, vous pouvez utiliser SSL avec les serveurs - virtuels à base de noms sans avoir à contourner ce problème.
+ virtuels à base de noms sans avoir à contourner ce problème.L'hébergement virtuel basé sur le nom est une méthode très populaire - d'identification des différents hôtes virtuels. Il permet d'utiliser la - même adresse IP et le même numéro de port pour de nombreux sites - différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser - que l'on peut appliquer la même méthode pour gérer plusieurs hôtes - virtuels SSL sur le même serveur.
+l'hébergement virtuel basé sur le nom d'hôte +pour différencier plusieurs hôtes virtuels ?L'hébergement virtuel basé sur le nom est une méthode très populaire + d'identification des différents hôtes virtuels. Il permet d'utiliser la + même adresse IP et le même numéro de port pour de nombreux sites + différents. Lorsqu'on se tourne vers SSL, il semble tout naturel de penser + que l'on peut appliquer la même méthode pour gérer plusieurs hôtes + virtuels SSL sur le même serveur.
C'est possible, mais seulement si on utilise une version 2.2.12 - ou supérieure du serveur web compilée avec OpenSSL - version 0.9.8j ou supérieure. Ceci est du au fait que - l'utilisation de l'hébergement virtuel à base de nom - avec SSL nécessite une fonctionnalité appelée + ou supérieure du serveur web compilée avec OpenSSL + version 0.9.8j ou supérieure. Ceci est du au fait que + l'utilisation de l'hébergement virtuel à base de nom + avec SSL nécessite une fonctionnalité appelée Indication du Nom de Serveur (Server Name Indication - SNI) que - seules les révisions les plus récentes de la - spécification SSL supportent.
+ seules les révisions les plus récentes de la + spécification SSL supportent.Notez que si votre certificat comporte un nom de serveur avec - caractères génériques, ou des noms de serveurs multiples dans le + caractères génériques, ou des noms de serveurs multiples dans le champ subjectAltName, vous pouvez utiliser SSL avec les serveurs - virtuels à base de noms sans avoir à contourner ce problème.
- -La raison en est que le protocole SSL constitue une couche séparée qui - encapsule le protocole HTTP. Aini, la session SSL nécessite une - transaction séparée qui prend place avant que la session HTTP n'ait débuté. - Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y - (habituellement 443). Comme la requête SSL ne contenait aucun - en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hôte virtuel SSL il - devait utiliser. En général, il utilisait le premier + virtuels à base de noms sans avoir à contourner ce problème.
+ +La raison en est que le protocole SSL constitue une couche séparée qui + encapsule le protocole HTTP. Aini, la session SSL nécessite une + transaction séparée qui prend place avant que la session HTTP n'ait débuté. + Le serveur reçoit une requête SSL sur l'adresse IP X et le port Y + (habituellement 443). Comme la requête SSL ne contenait aucun + en-tête Host:, le serveur n'avait aucun moyen de déterminer quel hôte virtuel SSL il + devait utiliser. En général, il utilisait le premier qu'il trouvait et qui - correspondait à l'adresse IP et au port spécifiés.
+ correspondait à l'adresse IP et au port spécifiés.Par contre, si vous utilisez des versions du serveur web et d'OpenSSL qui supportent SNI, et si le navigateur du client le - supporte aussi, alors le nom d'hôte sera inclus dans la - requête SSL originale, et le serveur web pourra - sélectionner le bon serveur virtuel SSL.
+ supporte aussi, alors le nom d'hôte sera inclus dans la + requête SSL originale, et le serveur web pourra + sélectionner le bon serveur virtuel SSL. -Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom - pour identifier de nombreux hôtes virtuels non-SSL - (tous sur le port 80 par exemple), et ne gérer qu'un seul hôte virtuel SSL - (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port - non-SSL à l'aide de la directive NameVirtualHost dans ce style :
+Bien entendu, vous pouvez utiliser l'hébergement virtuel basé sur le nom + pour identifier de nombreux hôtes virtuels non-SSL + (tous sur le port 80 par exemple), et ne gérer qu'un seul hôte virtuel SSL + (sur le port 443). Mais dans ce cas, vous devez définir le numéro de port + non-SSL à l'aide de la directive NameVirtualHost dans ce style :
il existe d'autres solutions alternatives comme :
-Utiliser des adresses IP différentes pour chaque hôte SSL. - Utiliser des numéros de port différents pour chaque hôte SSL.
+Utiliser des adresses IP différentes pour chaque hôte SSL. + Utiliser des numéros de port différents pour chaque hôte SSL.
Bien que la négociation pour la compression SSL ait été définie dans la -spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a -défini DEFLATE comme une méthode de compression standard négociable. +
Bien que la négociation pour la compression SSL ait été définie dans la +spécification de SSLv2 et TLS, ce n'est qu'en mai 2004 que la RFC 3749 a +défini DEFLATE comme une méthode de compression standard négociable.
-Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut
-lorsqu'il est compilé avec l'option zlib. Si le client et le
-serveur supportent la compression, elle sera utilisée. Cependant, la
+
Depuis la version 0.9.8, OpenSSL supporte cette compression par défaut
+lorsqu'il est compilé avec l'option zlib. Si le client et le
+serveur supportent la compression, elle sera utilisée. Cependant, la
plupart des clients essaient encore de se connecter avec un Hello SSLv2.
-Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés
-dans sa négociation, la compression ne peut pas être négociée avec ces clients.
-Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être
-envoyé, selon la bibliothèque SSL utilisée, et la compression peut être mise
-en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en
+Comme SSLv2 ne comportait pas de table des algorithmes de compression préférés
+dans sa négociation, la compression ne peut pas être négociée avec ces clients.
+Si le client désactive le support SSLv2, un Hello SSLv3 ou TLS peut être
+envoyé, selon la bibliothèque SSL utilisée, et la compression peut être mise
+en oeuvre. Vous pouvez vérifier si un client utilise la compression SSL en
journalisant la variable %{SSL_COMPRESS_METHOD}x.
Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée. - L'icône de chiffrement dans les navigateurs Netscape n'est pas vraiment - synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé - qu'au moment où la première partie des données relatives à la page web - proprement dite sont transférées, ce qui peut prêter à confusion. Le - dispositif d'authentification de base appartient à la couche HTTP, qui - est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout - transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé - sa phase de négociation et basculé dans le mode de communication - chiffrée. Ne vous laissez donc pas abuser par l'état de cet icône.
-Non, le couple utilisateur/mot de passe est transmis sous forme chiffrée. + L'icône de chiffrement dans les navigateurs Netscape n'est pas vraiment + synchronisé avec la couche SSL/TLS. Il ne passe à l'état verrouillé + qu'au moment où la première partie des données relatives à la page web + proprement dite sont transférées, ce qui peut prêter à confusion. Le + dispositif d'authentification de base appartient à la couche HTTP, qui + est située au dessus de la couche SSL/TLS dans HTTPS. Avant tout + transfert de données HTTP sous HTTPS, la couche SSL/TLS a déjà achevé + sa phase de négociation et basculé dans le mode de communication + chiffrée. Ne vous laissez donc pas abuser par l'état de cet icône.
+La première raison en est la présence dans l'implémentation SSL de +
La première raison en est la présence dans l'implémentation SSL de certaines versions de MSIE de bogues subtils en rapport avec le dispositif de "maintien en vie" (keep-alive) HTTP, et les alertes de notification de fermeture de session SSL en cas de coupure de la -connexion au point d'entrée (socket). De plus, l'interaction entre -SSL et les fonctionnalités HTTP/1.1 pose problème avec certaines -versions de MSIE. Vous pouvez contourner ces problèmes en interdisant -à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie +connexion au point d'entrée (socket). De plus, l'interaction entre +SSL et les fonctionnalités HTTP/1.1 pose problème avec certaines +versions de MSIE. Vous pouvez contourner ces problèmes en interdisant +à Apache l'utilisation de HTTP/1.1, les connexions avec maintien en vie ou l'envoi de messages de notification de fermeture de session SSL aux clients MSIE. Pour cela, vous pouvez utiliser la directive suivante -dans votre section d'hôte virtuel avec support SSL :
+dans votre section d'hôte virtuel avec support SSL :En outre, certaines versions de MSIE ont des problèmes avec des
- algorithmes de chiffrement particuliers. Hélas, il n'est pas
- possible d'apporter une solution spécifique à MSIE pour ces
- problèmes, car les algorithmes de chiffrement sont utilisés dès la
- phase de négociation SSL. Ainsi, une directive
-
En outre, certaines versions de MSIE ont des problèmes avec des
+ algorithmes de chiffrement particuliers. Hélas, il n'est pas
+ possible d'apporter une solution spécifique à MSIE pour ces
+ problèmes, car les algorithmes de chiffrement sont utilisés dès la
+ phase de négociation SSL. Ainsi, une directive
+
TLS-SRP (Echange de clés avec mot de passe distant sécurisé, - défini dans la RFC 5054) peut compléter ou même remplacer les +
TLS-SRP (Echange de clés avec mot de passe distant sécurisé,
+ défini dans la RFC 5054) peut compléter ou même remplacer les
certificats au cours de l'authentification d'une connexion SSL. Pour
- utiliser TLS-SRP, affectez à la directive openssl :
Une fois ce fichier créé, spécifiez-le dans la configuration SSL +
Une fois ce fichier créé, spécifiez-le dans la configuration SSL du serveur :
Pour forcer les clients à utiliser des algorithmes de chiffrement - non basés sur les certificats, utilisez la directive suivante :
+Pour forcer les clients à utiliser des algorithmes de chiffrement + non basés sur les certificats, utilisez la directive suivante :
Depuis la version 2.5.0-dev et à/c du 29/09/2013,
-
Depuis la version 2.5.0-dev et à /c du 29/09/2013,
+
Si votre client basé sur Java s'arrête avec une exception telle +
Si votre client basé sur Java s'arrête avec une exception telle
que java.lang.RuntimeException: Could not generate DH
keypair et
java.security.InvalidAlgorithmParameterException: Prime size
@@ -829,18 +829,18 @@ de 1024 bits ?
tlsv1
alert internal error (SSL alert number 80) dans son journal
des erreurs (avec un info ou supérieur), vous pouvez soit réarranger la
+ info ou supérieur), vous pouvez soit réarranger la
liste d'algorithmes de mod_ssl via la directive Pour générer des paramètres DH personnalisés, utilisez la +
Pour générer des paramètres DH personnalisés, utilisez la
commande openssl dhparam 1024. Vous pouvez aussi
- utiliser les paramètres DH standards issus de la RFC 2409, section 6.2 :
-----BEGIN DH PARAMETERS----- MIGHAoGBAP//////////yQ/aoiFowjTExmKLgNwc0SkCTgiKZ8x0Agu+pjsTmyJR @@ -860,157 +860,157 @@ Sgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVHCReSFtXZiXn7G9ExC6aY37WsLSupport de mod_ssl
- Quelles sont les sources d'informations -disponibles en cas de problème avec mod_ssl ?
+disponibles en cas de problème avec mod_ssl ?- Qui peut-on contacter pour un support en cas de -problème avec mod_ssl ?
+problème avec mod_ssl ?- Quelles informations dois-je fournir lors -de l'écriture d'un rapport de bogue ?
-- Un vidage mémoire s'est produit, +de l'écriture d'un rapport de bogue ?
+- Un vidage mémoire s'est produit, pouvez-vous m'aider ?
- Comment puis-je obtenir une journalisation de -ce qui s'est passé, pour m'aider à trouver la raison de ce vidage -mémoire ?
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage +mémoire ?Quelles sont les sources d'informations -disponibles en cas de problème avec mod_ssl ? +disponibles en cas de problème avec mod_ssl ?Voici les sources d'informations disponibles ; vous devez chercher -ici en cas de problème.
+ici en cas de problème.-
- Vous trouverez des réponses dans la Foire Aux Questions du +
- Vous trouverez des réponses dans la Foire Aux Questions du manuel utilisateur (ce document)
- http://httpd.apache.org/docs/&httpd.docs;/ssl/ssl_faq.html
Cherchez tout d'abord dans la foire aux questions - (ce document). Si votre question est courante, on a déjà dû y - répondre de nombreuses fois, et elle fait probablement partie + (ce document). Si votre question est courante, on a déjà dû y + répondre de nombreuses fois, et elle fait probablement partie de ce document.Qui peut-on contacter pour un support en cas de -problème avec mod_ssl ? -Voici toutes les possibilités de support pour mod_ssl, par ordre - de préférence. Merci d'utiliser ces possibilités - dans cet ordre - ne vous précipitez pas sur celle qui vous - paraît la plus alléchante.
+problème avec mod_ssl ? +Voici toutes les possibilités de support pour mod_ssl, par ordre + de préférence. Merci d'utiliser ces possibilités + dans cet ordre - ne vous précipitez pas sur celle qui vous + paraît la plus alléchante.
-
- Envoyez un rapport de problème à la liste de diffusion de +
- Envoyez un rapport de problème à la liste de diffusion de support des utilisateurs d'Apache httpd
-
users@httpd.apache.org
- C'est la deuxième manière de soumettre votre rapport de - problème. Ici aussi, vous devez d'abord vous abonner à la + C'est la deuxième manière de soumettre votre rapport de + problème. Ici aussi, vous devez d'abord vous abonner à la liste, mais vous pourrez ensuite discuter facilement de votre - problème avec l'ensemble de la communauté d'utilisateurs + problème avec l'ensemble de la communauté d'utilisateurs d'Apache httpd.- Ecrire un rapport de problème dans la base de données des +
- Ecrire un rapport de problème dans la base de données des bogues
http://httpd.apache.org/bug_report.html
- C'est la dernière manière de soumettre votre rapport de - problème. Vous ne devez utiliser cette solution que si vous - avez déjà écrit aux listes de diffusion, et n'avez pas trouvé + C'est la dernière manière de soumettre votre rapport de + problème. Vous ne devez utiliser cette solution que si vous + avez déjà écrit aux listes de diffusion, et n'avez pas trouvé de solution. Merci de suivre les instructions de la page - mentionnée ci-dessus avec soin. + mentionnée ci-dessus avec soin.- Quelles informations dois-je fournir lors -de l'écriture d'un rapport de bogue ? +de l'écriture d'un rapport de bogue ?Vous devez toujours fournir au moins les informations suivantes :
-
- Les versions d'Apache httpd et OpenSSL installées
-- La version d'Apache peut être déterminée en exécutant -
httpd -v. La version d'OpenSSL peut être déterminée - en exécutantopenssl version. Si Lynx est installé, - vous pouvez aussi exécuter la commandelynx -mime_header +- Les versions d'Apache httpd et OpenSSL installées
+- La version d'Apache peut être déterminée en exécutant +
-httpd -v. La version d'OpenSSL peut être déterminée + en exécutantopenssl version. Si Lynx est installé, + vous pouvez aussi exécuter la commandelynx -mime_header http://localhost/ | grep Serveret ainsi obtenir ces informations en une seule fois.- Les détails de votre installation d'Apache httpd et OpenSSL
+- Les détails de votre installation d'Apache httpd et OpenSSL
- A cet effet, vous pouvez fournir un fichier journal de votre - session de terminal qui montre les étapes de la configuration et - de l'installation. En cas d'impossibilité, vous devez au moins + session de terminal qui montre les étapes de la configuration et + de l'installation. En cas d'impossibilité, vous devez au moins fournir la ligne de commande
-configure que - vous avez utilisée. + vous avez utilisée.- En cas de vidage mémoire, inclure une trace de ce qui s'est - passé
+- En cas de vidage mémoire, inclure une trace de ce qui s'est + passé
- Si votre serveur Apache httpd fait un vidage de sa - mémoire, merci de fournir en pièce jointe un fichier contenant - une trace de la zone dédiée à la pile (voir - ci-dessous pour des informations sur la manière - de l'obtenir). Il est nécessaire de disposer de ces informations - afin de pouvoir déterminer la raison de votre vidage mémoire. + mémoire, merci de fournir en pièce jointe un fichier contenant + une trace de la zone dédiée à la pile (voir + ci-dessous pour des informations sur la manière + de l'obtenir). Il est nécessaire de disposer de ces informations + afin de pouvoir déterminer la raison de votre vidage mémoire.
-- Une description détaillée de votre problème
+- Une description détaillée de votre problème
-- Ne riez pas, nous sommes sérieux ! De nombreux rapports - n'incluent pas de description de la véritable nature du problème. - Sans ces informations, il est très difficile pour quiconque de - vous aider. Donc, et c'est votre propre intérêt (vous souhaitez - que le problème soit résolu, n'est-ce pas ?), fournissez, s'il vous - plait, le maximum de détails possible. Bien entendu, vous devez - aussi inclure tout ce qui a été dit précédemment. +
- Ne riez pas, nous sommes sérieux ! De nombreux rapports + n'incluent pas de description de la véritable nature du problème. + Sans ces informations, il est très difficile pour quiconque de + vous aider. Donc, et c'est votre propre intérêt (vous souhaitez + que le problème soit résolu, n'est-ce pas ?), fournissez, s'il vous + plait, le maximum de détails possible. Bien entendu, vous devez + aussi inclure tout ce qui a été dit précédemment.
diff --git a/docs/manual/stopping.xml.fr b/docs/manual/stopping.xml.fr index b2b8c4338b..0cf9ed3ad7 100644 --- a/docs/manual/stopping.xml.fr +++ b/docs/manual/stopping.xml.fr @@ -24,245 +24,245 @@ Un vidage mémoire s'est produit, + +Un vidage mémoire s'est produit, pouvez-vous m'aider ? -En général non, du moins tant que vous n'aurez pas fourni plus de -détails à propos de la localisation dans le code où Apache a effectué -son vidage mémoire. Ce dont nous avons en général besoin pour vous -aider est une trace de ce qui s'est passé (voir la question suivante). -Sans cette information, il est pratiquement impossible de déterminer -la nature du problème et de vous aider à le résoudre.
+En général non, du moins tant que vous n'aurez pas fourni plus de +détails à propos de la localisation dans le code où Apache a effectué +son vidage mémoire. Ce dont nous avons en général besoin pour vous +aider est une trace de ce qui s'est passé (voir la question suivante). +Sans cette information, il est pratiquement impossible de déterminer +la nature du problème et de vous aider à le résoudre.
Comment puis-je obtenir une journalisation de -ce qui s'est passé, pour m'aider à trouver la raison de ce vidage -mémoire ? -Vous trouverez ci-dessous les différentes étapes permettant -d'obtenir une journalisation des évènements (backtrace) :
+ce qui s'est passé, pour m'aider à trouver la raison de ce vidage +mémoire ?Vous trouverez ci-dessous les différentes étapes permettant +d'obtenir une journalisation des évènements (backtrace) :
-
- Assurez-vous que les symboles de débogage sont disponibles, au - moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est - utilisé, vous devez compiler Apache+mod_ssl avec l'option +
- Assurez-vous que les symboles de débogage sont disponibles, au + moins pour Apache. Pour cela, sur les plates-formes où GCC/GDB est + utilisé, vous devez compiler Apache+mod_ssl avec l'option ``
-OPTIM="-g -ggdb3"''. Sur les autres plates-formes, l'option ``OPTIM="-g"'' est un minimum.- Démarrez le serveur et essayez de reproduire le vidage mémoire. +
- Démarrez le serveur et essayez de reproduire le vidage mémoire. A cet effet, vous pouvez utiliser une directive du style - ``
-CoreDumpDirectory /tmp'' pour être sûr que le - fichier de vidage mémoire puisse bien être écrit. Vous devriez + ``CoreDumpDirectory /tmp'' pour être sûr que le + fichier de vidage mémoire puisse bien être écrit. Vous devriez obtenir un fichier/tmp/coreou/tmp/httpd.core. Si ce n'est pas le cas, essayez de lancer votre serveur sous un UID autre que root. - Pour des raisons de sécurité, de nombreux - noyaux modernes de permettent pas à un processus de vider sa - mémoire une fois qu'il a accompli unsetuid()(à moins + Pour des raisons de sécurité, de nombreux + noyaux modernes de permettent pas à un processus de vider sa + mémoire une fois qu'il a accompli unsetuid()(à moins qu'il effectue unexec()) car des informations d'un - niveau privilégié pourraient être transmises en mémoire. Si - nécessaire, vous pouvez exécuter/chemin/vers/httpd -X- manuellement afin de ne pas permettre à Apache de se clôner (fork). + niveau privilégié pourraient être transmises en mémoire. Si + nécessaire, vous pouvez exécuter/chemin/vers/httpd -X+ manuellement afin de ne pas permettre à Apache de se clôner (fork).- Analysez le vidage mémoire. Pour cela, exécutez +
- Analysez le vidage mémoire. Pour cela, exécutez
gdb /path/to/httpd /tmp/httpd.coreou une commande - similaire. Dans GDB, tout ce que vous avez à faire est d'entrer + similaire. Dans GDB, tout ce que vous avez à faire est d'entrerbt, et voila, vous obtenez la backtrace. Pour les - débogueurs autres que GDB consulter le manuel correspondant. + débogueurs autres que GDB consulter le manuel correspondant.- Arrêt et redémarrage du serveur HTTP Apache +Arrêt et redémarrage du serveur HTTP Apache - Ce document couvre l'arrêt et le redémarrage du +
Ce document couvre l'arrêt et le redémarrage du serveur HTTP Apache sur - les systèmes Unix et similaires. Les utilisateurs de Windows NT, 2000 + les systèmes Unix et similaires. Les utilisateurs de Windows NT, 2000 and XP doivent consulter - Exécuter httpd en tant que + Exécuter httpd en tant que service et les utilisateurs de Windows 9x et ME doivent consulter - Exécuter httpd comme une - application de type console pour plus d'informations sur le contrôle - de httpd à partir de ces plateformes.
+ Exécuter httpd comme une + application de type console pour plus d'informations sur le contrôle + de httpd à partir de ces plateformes.httpd - apachectl Démarrage +Démarrage - Introduction -Afin d'arrêter ou redémarrer le serveur HTTP Apache, vous devez envoyer un signal aux - processus
httpd en cours d'exécution. Les signaux - peuvent être envoyés de deux manières. La - première méthode consiste à +Afin d'arrêter ou redémarrer le serveur HTTP Apache, vous devez envoyer un signal aux + processus
+ seront décrit plus loin.httpd en cours d'exécution. Les signaux + peuvent être envoyés de deux manières. La + première méthode consiste à utiliser la commande unixkillpour envoyer directement des signaux aux processus. Vous pouvez remarquer - que plusieurs processushttpd s'exécutent sur votre - système, mais il vous suffit d'envoyer les signaux au processus parent, - dont le PID est enregistré dans le fichier précisé par la directive + que plusieurs processushttpd s'exécutent sur votre + système, mais il vous suffit d'envoyer les signaux au processus parent, + dont le PID est enregistré dans le fichier précisé par la directivePidFile . Autrement dit, vous - n'aurez jamais besoin d'envoyer des signaux à aucun des + n'aurez jamais besoin d'envoyer des signaux à aucun des processus enfants, mais seulement au processus parent. Quatre types - de signaux peuvent être envoyés au processus parent : + de signaux peuvent être envoyés au processus parent :TERM,USR1,HUP, etWINCH, qui - seront décrit plus loin.Pour envoyer un signal au processus parent, vous devez entrer une commande du style :
kill -TERM `cat /usr/local/apache2/logs/httpd.pid` -La seconde méthode permettant d'envoyer des signaux aux processus +
La seconde méthode permettant d'envoyer des signaux aux processus
+ de commande comme décrit ci-dessous. Ce sont des arguments du binaire +httpd - consiste à utiliser les optionsstop, + consiste à utiliser les optionsstop,restart,gracefuletgraceful-stopdu commutateur-kde la ligne - de commande comme décrit ci-dessous. Ce sont des arguments du binaire -httpd , mais il est recommandé de les utiliser - avec le script de contrôleapachectl , qui se - chargera de les passer àhttpd .httpd , mais il est recommandé de les utiliser + avec le script de contrôleapachectl , qui se + chargera de les passer Ãhttpd . -Après avoir envoyé un signal à
httpd , vous pouvez +Après avoir envoyé un signal Ã
httpd , vous pouvez suivre le cours de son action en entrant :tail -f /usr/local/apache2/logs/error_log -Adaptez ces exemples en fonction de la définition de vos directives +
Adaptez ces exemples en fonction de la définition de vos directives
ServerRoot etPidFile .Arrêter immédiatement +- Arrêter immédiatement -
- Signal: TERM
apachectl -k stopA la réception du signal
TERMoustop, - le processus parent tente immédiatement +A la réception du signal
+ Après cela, le processus parent lui-même se termine. Toutes les requêtes + en cours sont terminées, et plus aucune autre n'est traitée.TERMoustop, + le processus parent tente immédiatement de tuer tous ses processus enfants. Cela peut durer plusieurs secondes. - Après cela, le processus parent lui-même se termine. Toutes les requêtes - en cours sont terminées, et plus aucune autre n'est traitée.Redémarrage en douceur +- Redémarrage en douceur -
- Signal: USR1
apachectl -k gracefulA la réception du signal
USR1ou +A la réception du signal
+ enfant de la nouvelle génération de la + configuration, et celui-ci commence immédiatement à traiter les + nouvelles requêtes. -USR1ougraceful, le processus parent envoie aux processus enfants - l'ordre de se terminer une fois leur requête courante - traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter). + l'ordre de se terminer une fois leur requête courante + traitée (ou de se terminer immédiatement s'ils n'ont plus rien à traiter). Le processus parent relit ses fichiers de configuration et - réouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le + réouvre ses fichiers de log. Chaque fois qu'un enfant s'éteint, le processus parent le remplace par un processus - enfant de la nouvelle génération de la - configuration, et celui-ci commence immédiatement à traiter les - nouvelles requêtes.Ce code est conçu pour toujours respecter la directive de contrôle +
Ce code est conçu pour toujours respecter la directive de contrôle de processus des modules MPMs, afin que les nombres de processus et de threads - disponibles pour traiter les demandes des clients soient maintenus à - des valeurs appropriées tout au long du processus de démarrage. + disponibles pour traiter les demandes des clients soient maintenus à + des valeurs appropriées tout au long du processus de démarrage. En outre, il respecte la directive -
StartServers de la manière - suivante : si après une seconde au moinsStartServers de la manière + suivante : si après une seconde au moinsStartServers nouveaux processus - enfants n'ont pas été créés, un nombre suffisant de processus - supplémentaires est créé pour combler le manque. Ainsi le code - tente de maintenir à la fois le nombre approprié de processus enfants - en fonction de la charge du serveur, et le nombre de processus défini par la + enfants n'ont pas été créés, un nombre suffisant de processus + supplémentaires est créé pour combler le manque. Ainsi le code + tente de maintenir à la fois le nombre approprié de processus enfants + en fonction de la charge du serveur, et le nombre de processus défini par la directiveStartServers .Les utilisateurs du module
+ tableau utilisé pour garder la trace de tous les processus + enfants au cours des différentes générations. -mod_status noteront que les statistiques du serveur ne sont pas - remises à zéro quand un signalUSR1est envoyé. Le code - a été conçu à la fois pour minimiser la durée durant laquelle le - serveur ne peut pas traiter de nouvelles requêtes (elle sont mises en - file d'attente par le système d'exploitation, et ne sont ainsi jamais - perdues) et pour respecter vos paramètres de personnalisation. + remises à zéro quand un signalUSR1est envoyé. Le code + a été conçu à la fois pour minimiser la durée durant laquelle le + serveur ne peut pas traiter de nouvelles requêtes (elle sont mises en + file d'attente par le système d'exploitation, et ne sont ainsi jamais + perdues) et pour respecter vos paramètres de personnalisation. Pour y parvenir, il doit conserver le - tableau utilisé pour garder la trace de tous les processus - enfants au cours des différentes générations.Dans son état des processus, - le module status utilise aussi un caractère
+Gafin d'indiquer - quels processus enfants ont encore des traitements de requêtes en cours - débutés avant que l'ordre graceful restart ne soit donné.Dans son état des processus, + le module status utilise aussi un caractère
Gafin d'indiquer + quels processus enfants ont encore des traitements de requêtes en cours + débutés avant que l'ordre graceful restart ne soit donné.Pour l'instant, il est impossible pour un script de rotation des logs utilisant -
USR1de savoir de manière certaine si tous les processus - enfants inscrivant des traces de pré-redémarrage sont terminés. - Nous vous suggérons d'attendre un délai suffisant après l'envoi du +USR1de savoir de manière certaine si tous les processus + enfants inscrivant des traces de pré-redémarrage sont terminés. + Nous vous suggérons d'attendre un délai suffisant après l'envoi du signalUSR1avant de faire quoi que ce soit avec les anciens logs. Par exemple, si la plupart de vos traitements durent moins de 10 minutes pour des - utilisateurs empruntant des liaisons à faible bande passante, alors vous + utilisateurs empruntant des liaisons à faible bande passante, alors vous devriez attendre 15 minutes avant de faire quoi que ce soit avec les anciens logs.- + fichier de configuration et celle-ci doit être corrigée avant de lancer + le redémarrage en douceur.Lorsque vous initiez un redémarrage, une vérification de - la syntaxe est tout d'abord effectuée, afin de s'assurer qu'il n'y a +
Lorsque vous initiez un redémarrage, une vérification de + la syntaxe est tout d'abord effectuée, afin de s'assurer qu'il n'y a pas d'erreurs dans les fichiers de configuration. Si votre fichier de configuration comporte des erreurs de syntaxe, vous recevrez un message - d'erreur les concernant, et le serveur refusera de redémarrer. Ceci - permet d'éviter la situation où un serveur a - été arrêté et ne peut plus redémarrer, - et où vous vous retrouvez avec un serveur hors-service.
- -Ceci ne garantit pas encore que le serveur va redémarrer - correctement. Pour vérifier la sémantique des fichiers de configuration - en plus de leur syntaxe, vous pouvez essayer de démarrer + d'erreur les concernant, et le serveur refusera de redémarrer. Ceci + permet d'éviter la situation où un serveur a + été arrêté et ne peut plus redémarrer, + et où vous vous retrouvez avec un serveur hors-service.
+ +Ceci ne garantit pas encore que le serveur va redémarrer + correctement. Pour vérifier la sémantique des fichiers de configuration + en plus de leur syntaxe, vous pouvez essayer de démarrer
httpd sous un utilisateur non root. S'il n'y a pas d'erreur, il tentera d'ouvrir ses sockets et ses fichiers - de log et échouera car il n'a pas les privilèges root (ou parce que + de log et échouera car il n'a pas les privilèges root (ou parce que l'instance actuelle de -httpd est déjà associée à ces ports). S'il échoue +httpd est déjà associée à ces ports). S'il échoue pour toute autre raison, il y a probablement une erreur dans le - fichier de configuration et celle-ci doit être corrigée avant de lancer - le redémarrage en douceur.Redémarrer immédiatement +- Redémarrer immédiatement -
- Signal: HUP
apachectl -k restartA la réception du signal
HUPou +A la réception du signal
+ Il relit ses fichiers de configuration, et réouvre ses fichiers de log. + Puis il donne naissance à un nouveau jeu de processus enfants + et continue de traiter les requêtes.HUPourestart, le processus parent tue ses processus enfants comme pour le signalTERM, mais le processus parent ne se termine pas. - Il relit ses fichiers de configuration, et réouvre ses fichiers de log. - Puis il donne naissance à un nouveau jeu de processus enfants - et continue de traiter les requêtes.Les utilisateurs du module
+ noteront que les statistiques du serveur sont remises à zéro quand un + signalmod_status - noteront que les statistiques du serveur sont remises à zéro quand un - signalHUPest envoyé.HUPest envoyé. -Comme dans le cas d'un redémarrage "graceful", une -vérification de la syntaxe est effectuée avant que le -redémarrage ne soit tenté. Si votre fichier de configuration comporte -des erreurs de syntaxe, le redémarrage ne sera pas effectué, et + Comme dans le cas d'un redémarrage "graceful", une +vérification de la syntaxe est effectuée avant que le +redémarrage ne soit tenté. Si votre fichier de configuration comporte +des erreurs de syntaxe, le redémarrage ne sera pas effectué, et vous recevrez un message concernant ces erreurs. Arrêt en douceur +diff --git a/docs/manual/vhosts/details.xml.fr b/docs/manual/vhosts/details.xml.fr index db9fa5e8e7..aa2d5c23be 100644 --- a/docs/manual/vhosts/details.xml.fr +++ b/docs/manual/vhosts/details.xml.fr @@ -124,7 +124,7 @@ dynamiquement écrasés par aucune directive Arrêt en douceur -
- Signal : WINCH
apachectl -k graceful-stopA la réception du signal
WINCHou +A la réception du signal
+ afin de le forcer à s'arrêter. -WINCHougraceful-stop, le - processus parent ordonne à ses processus enfants - de s'arrêter après le traitement de leur requête en cours - (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter). + processus parent ordonne à ses processus enfants + de s'arrêter après le traitement de leur requête en cours + (ou de s'arrêter immédiatement s'ils n'ont plus de requête à traiter). Le processus parent va alors supprimer son fichier -PidFile et cesser l'écoute - de tous ses ports. Le processus parent va continuer à s'exécuter, +PidFile et cesser l'écoute + de tous ses ports. Le processus parent va continuer à s'exécuter, et va surveiller les processus enfants - qui ont encore des requêtes à traiter. Lorsque tous les processus enfants - ont terminé leurs traitements et se sont arrêtés ou lorsque le délai - spécifié par la directiveGracefulShutdownTimeout a été atteint, - le processus parent s'arrêtera à son tour. Si ce délai est atteint, - tout processus enfant encore en cours d'exécution se verra envoyer + qui ont encore des requêtes à traiter. Lorsque tous les processus enfants + ont terminé leurs traitements et se sont arrêtés ou lorsque le délai + spécifié par la directiveGracefulShutdownTimeout a été atteint, + le processus parent s'arrêtera à son tour. Si ce délai est atteint, + tout processus enfant encore en cours d'exécution se verra envoyer le signalTERM- afin de le forcer à s'arrêter.L'envoi du signal
TERMva arrêter immédiatement - les processus parent et enfants en état "graceful". Cependant, +L'envoi du signal
-TERMva arrêter immédiatement + les processus parent et enfants en état "graceful". Cependant, comme le fichierPidFile - aura été supprimé, vous ne pourrez pas utiliser + aura été supprimé, vous ne pourrez pas utiliserapachectlouhttpdpour envoyer ce signal.Le signal
-graceful-stopvous permet d'exécuter - simultanément plusieurs instances dehttpd - avec des configurations identiques. Ceci s'avère une fonctionnalité - puissante quand vous effectuez des mises à jour "en douceur" +Le signal
graceful-stopvous permet d'exécuter + simultanément plusieurs instances dehttpd + avec des configurations identiques. Ceci s'avère une fonctionnalité + puissante quand vous effectuez des mises à jour "en douceur" de httpd ; cependant, cela peut aussi causer des blocages fatals et des - situations de compétition (race conditions) + situations de compétition (race conditions) avec certaines configurations.On a pris soin de s'assurer que les fichiers sur disque comme les fichiers verrou (
+ du serveur, et coexistent sans problème. Cependant, si une directive de + configuration, un module tiers ou une CGI résidente utilise un autre + verrou ou fichier d'état sur disque, il faut prendre soin de s'assurer + que chaque instance deMutex ) et les fichiers socket Unix (ScriptSock ) contiennent le PID - du serveur, et coexistent sans problème. Cependant, si une directive de - configuration, un module tiers ou une CGI résidente utilise un autre - verrou ou fichier d'état sur disque, il faut prendre soin de s'assurer - que chaque instance dehttpd qui s'exécute - n'écrase pas les fichiers des autres instances.httpd qui s'exécute + n'écrase pas les fichiers des autres instances.Vous devez aussi prendre garde aux autres situations de compétition, +
Vous devez aussi prendre garde aux autres situations de compétition, comme l'enregistrement des logs avec un transfert de ceux-ci via un pipe vers le programme
rotatelogs . Plusieurs instances du programmerotatelogs qui tentent d'effectuer - une rotation des mêmes fichiers de log en même temps peuvent détruire + une rotation des mêmes fichiers de log en même temps peuvent détruire mutuellement leurs propres fichiers de log.ServerAlias.Pour chaque serveur virtuel, diverses valeurs sont initialisées - par défaut. En particulier :
+ par défaut. En particulier :
- Dans le cas où un serveur virtuel ne contient pas de directives @@ -178,7 +178,7 @@ dynamiquement
Choix du serveur virtuel à la réception d'une requête, le serveur procède comme suit pour - déterminer quel serveur virtuel utiliser :
+ déterminer quel serveur virtuel utiliser :Recherche de l'adresse IP @@ -325,7 +325,7 @@ dynamiquementEn plus des points évoqués sur la page des problèmes liés au DNS, - voici quelques points intéressants :
+ voici quelques points intéressants :
- Toujours positionner les définitions relatives au serveur diff --git a/docs/manual/vhosts/examples.xml.fr b/docs/manual/vhosts/examples.xml.fr index f33560e058..22556a87b2 100644 --- a/docs/manual/vhosts/examples.xml.fr +++ b/docs/manual/vhosts/examples.xml.fr @@ -59,7 +59,7 @@ une requête est envoyée Ã
www.example.comouwww.example.org. -Note : La configuration de serveurs virtuels +
Note : La configuration de serveurs virtuels sous Apache ne provoque pas leur apparition magique dans la configuration du DNS. Il faut que leurs noms soient définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP @@ -93,7 +93,7 @@ Listen 80 serveur virtuel
@@ -104,7 +104,7 @@ Listen 80 contenu différent en fonction de l'adresse IP ou du port.ServerName www.example.comse trouve en premier dans le fichier de configuration, il a la plus grande priorité et peut être vu - comme serveur par défaut ou primaire ; + comme serveur par défaut ou primaire ; ce qui signifie que toute requête reçue ne correspondant à aucune des directivesServerName sera servie par ce premierVirtualHost .- Note : +Note : Vous pouvez remplacer
*par une adresse IP du système. Le serveur virtuel concerné @@ -127,7 +127,7 @@ Listen 80 d'une seule adresse IP.- @@ -196,7 +196,7 @@ DocumentRoot "/www/mainserver" module="core">VirtualHost.Note : Toutes les techniques présentées ici +
Note : Toutes les techniques présentées ici peuvent être étendues à un plus grand nombre d'adresses IP.
- Note : Sur le réseau interne, il est possible +
Note : Sur le réseau interne, il est possible d'utiliser le nom raccourci
@@ -546,7 +546,7 @@ DocumentRoot "/www/subdomain/sub1" servie par le serveur sub1-vhost que si le client envoie un en-têteserverau lieu du nom completserver.example.com.Host:correct. Si aucun en-têteHost:n'est transmis, le serveur primaire sera utilisé. -Notez qu'il y a une singularité : une requête sur +
Notez qu'il y a une singularité : une requête sur
diff --git a/docs/manual/vhosts/fd-limits.xml.fr b/docs/manual/vhosts/fd-limits.xml.fr index 4309b7fc1f..2d51601de7 100644 --- a/docs/manual/vhosts/fd-limits.xml.fr +++ b/docs/manual/vhosts/fd-limits.xml.fr @@ -37,11 +37,11 @@ de fichiers journaux, plus un nombre constant compris entre 10 et 20 pour son fonctionnement interne. Les systèmes d'exploitation Unix limitent le nombre de descripteurs de fichiers utilisables par - processus ; une valeur courante pour cette limite est de 64, et + processus ; une valeur courante pour cette limite est de 64, et cette valeur peut le plus souvent être augmentée.http://www.sub2.domain.tld/sub1/est également servie par le serveur sub1-vhost si le client n'envoie pas d'en-têteHost:.Apache tente d'accroître cette valeur limite si nécessaire, mais - sans y parvenir dans les cas suivants :
+ sans y parvenir dans les cas suivants :-
- Le système d'exploitation ne permet pas l'utilisation d'appels @@ -59,7 +59,7 @@ fichiers inférieurs à 256. (sous Solaris 2).
En cas de problème, Vous pouvez :
+En cas de problème, Vous pouvez :
- Réduire le nombre de fichiers journaux, en ne spécifiant @@ -99,13 +99,13 @@ plusieurs serveurs virtuels dans un même fichier journal, vous voudrez ensuite pouvoir scinder ces informations à des fins de statistiques, par exemple, sur les différents serveurs virtuels. Il est possible de procéder -de la manière suivante : +de la manière suivante :
Tout d'abord, vous devez ajouter le nom du serveur virtuel à chaque entrée du journal. Ceci se paramètre au moyen de la directive
+de définition du format de journalisations :LogFormat et de la variable%v. Ajoutez cette variable au début de la chaîne -de définition du format de journalisations :LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost @@ -113,7 +113,7 @@ CustomLog "logs/multiple_vhost_log" vhost Cette configuration va provoquer la création d'un fichier de -journalisation au format standard (CLF : 'Common Log Format'), mais dont +journalisation au format standard (CLF : 'Common Log Format'), mais dont chaque ligne débutera par le nom canonique du serveur virtuel (spécifié par la directive
-ServerName ). (Voirmod_log_config pour d'autres informations sur la @@ -125,7 +125,7 @@ par serveur virtuel, le programmeutilisé. Ce programme peut être trouvé dans le répertoiresupportde la distribution d'Apache.Exécutez ce programme au moyen de la commande :
+Exécutez ce programme au moyen de la commande :
split-logfile < /logs/multiple_vhost_log diff --git a/docs/manual/vhosts/ip-based.xml.fr b/docs/manual/vhosts/ip-based.xml.fr index b7ae350859..c9fe8f7570 100644 --- a/docs/manual/vhosts/ip-based.xml.fr +++ b/docs/manual/vhosts/ip-based.xml.fr @@ -55,7 +55,7 @@ domaine, soit de faire tourner un unique processus résident qui gère tous les serveurs virtuels. - Utilisez des processus résidents multiples lorsque :
+Utilisez des processus résidents multiples lorsque :
-
- il y a des problèmes de répartition de sécurité, tels @@ -80,7 +80,7 @@ et un autre pour l'adresse restante).
Utilisez un unique processus résident lorsque :
+Utilisez un unique processus résident lorsque :
- le partage de la configuration httpd entre les serveurs @@ -100,7 +100,7 @@ chacune d'elle, utilisez la directive
Listen dans le fichier de configuration pour définir l'adresse IP (ou serveur virtuel) - que le processus résident doit gérer. Par exemple : + que le processus résident doit gérer. Par exemple :Listen 192.0.2.100:80 @@ -126,7 +126,7 @@ résident pour des serveurs virtuels ErrorLog etTransferLog ouCustomLog avec des - valeurs différentes pour chaque serveur virtuel. Par exemple : + valeurs différentes pour chaque serveur virtuel. Par exemple :<VirtualHost 172.20.30.40:80> @@ -171,7 +171,7 @@ résident pour des serveurs virtuels utilisées à l'intérieur d'une directive VirtualHost si l'exécution se fait sous suEXEC. (Voir suEXEC). - SÃCURITà : lorsque vous spécifiez où écrire les +
SÃCURITà: lorsque vous spécifiez où écrire les fichiers journaux, soyez attentif aux risques si quelqu'un d'autre que celui qui a démarré Apache dispose des droits d'écriture sur l'emplacement de ces fichiers. Consultez les diff --git a/docs/manual/vhosts/name-based.xml.fr b/docs/manual/vhosts/name-based.xml.fr index 752ffc3972..609e23f862 100644 --- a/docs/manual/vhosts/name-based.xml.fr +++ b/docs/manual/vhosts/name-based.xml.fr @@ -176,7 +176,7 @@ virtuel basé sur le nom approprié
+ suivante Ãwww.example.comet que vous souhaitez ajouter le serveur virtuelother.example.comqui pointe sur la même adresse IP. Il vous suffit d'ajouter la configuration - suivante Ãhttpd.conf:httpd.conf :<VirtualHost *:80> @@ -209,7 +209,7 @@ virtuel basé sur le nom approprié VirtualHost ci-dessus, la directiveServerAlias indique aux utilisateurs les autres noms permis pour accéder au - même site Web : + même site Web :ServerAlias example.com *.example.com