From: Lucien Gentis
@@ -1417,27 +1419,35 @@ recommandée), les vérifications CRL sont effectuées sur tous les
certificats de la chaîne, alors que la valeur flags peut prendre comme valeurs
Avant la version 2.3.15, les vérifications CRL dans mod_ssl
réussissaient même si aucune CRL n'était trouvée dans les chemins
définis par les directives Le comportement a
+changé avec l'introduction de la directive
+leaf
limite
la vérification au certificat hors chaîne (la feuille).
chain
ou
-leaf
, les CRLs doivent être disponibles pour que la
-validation réussisse
+
no_crl_for_cert_ok
chain
ou leaf
, les CRLs doivent être présentes pour que la
validation réussisse ; dans le cas contraire, elle échouera avec une
-erreur "CRL introuvable"
.
-"unable to get certificate CRL"
.
La valeur no_crl_for_cert_ok
du drapeau flag permet de
+retrouver le comportement précédent.
Cette directive permet de définir le répertoire dans lequel +
Cette directive permet de définir le répertoire dans lequel
Apache httpd va tenter de se positionner avant d'effectuer un vidage
- mémoire sur disque.
- Si votre système d'exploitation est configuré pour créer des
- fichiers de vidage mémoire dans le répertoire de travail des
- processus qui se sont crashés,
-
Si vous avez besoin d'un vidage mémoire pour le débogage, vous - pouvez utiliser cette directive pour le placer à un endroit - différent. Cette directive n'a aucun effet si votre système - d'exploitation n'est pas configuré pour créer des - fichiers de vidage mémoire dans le répertoire de travail des - processus qui se sont crashés.
- -Si Apache httpd est démarré sous l'utilisateur root puis bascule vers
- un autre utilisateur, le noyau Linux désactive les
- vidages mémoire, même si le répertoire est accessible en écriture au
- processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
- vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous
- définissez une directive
Si vous avez besoin d'un vidage mémoire pour le débogage, vous + pouvez utiliser cette directive pour le placer à un endroit + différent. Cette directive n'a aucun effet si votre système + d'exploitation n'est pas configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés.
+ +Si Apache httpd est démarré sous l'utilisateur root puis bascule vers
+ un autre utilisateur, le noyau Linux désactive les
+ vidages mémoire, même si le répertoire est accessible en écriture au
+ processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
+ vidages mémoire sous Linux 2.4 et au delà , mais seulement si vous
+ définissez une directive
Pour activer le vidage mémoire des exécutables suid sur les
- systèmes de style BSD (comme FreeBSD), définissez
- kern.sugid_coredump
à 1.
+
Pour activer le vidage mémoire des exécutables suid sur les
+ systèmes de style BSD (comme FreeBSD), définissez
+ kern.sugid_coredump
à 1.
- Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
- vidage mémoire, mais n'est pas traité par les directives
+ Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
+ vidage mémoire, mais n'est pas traité par les directives
Pour des raisons de sécurité, cette directive n'est disponible - que si la compilation du serveur a été configurée avec l'option +
Pour des raisons de sécurité, cette directive n'est disponible
+ que si la compilation du serveur a été configurée avec l'option
--enable-exception-hook
. Elle permet d'activer un hook
("point d'accrochage logiciel")
- qui autorise certains modules externes à effectuer un branchement et
- accomplir telle ou telle action après le crash d'un processus
+ qui autorise certains modules externes à effectuer un branchement et
+ accomplir telle ou telle action après le crash d'un processus
enfant.
Deux modules, mod_whatkilledus
et
mod_backtrace
utilisent ce hook. Veuillez vous
- référer à la page EnableExceptionHook de Jeff Trawick pour plus
- d'informations à leur sujet.
La directive
Définir cette valeur à zéro signifie au serveur d'attendre - jusqu'à ce que toutes les requêtes en cours aient été traitées.
+Définir cette valeur à zéro signifie au serveur d'attendre + jusqu'à ce que toutes les requêtes en cours aient été traitées.
La directive
La directive
Il est souvent utile de pouvoir envoyer un signal au
- serveur afin qu'il ferme et ouvre à nouveau ses journaux
+ serveur afin qu'il ferme et ouvre à nouveau ses journaux
d'
La directive
Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser
que le script
La directive
La directive
La directive
On peut utiliser autant de directives
-
Par exemple, pour que le serveur accepte les connexions sur les ports 80 et 8000, utilisez :
@@ -234,30 +234,30 @@ Listen 8000Pour que le serveur accepte les connexions sur deux interfaces et - ports particuliers, spécifiez :
+ ports particuliers, spécifiez :Les adressee IPv6 doivent être entourées de crochets, comme dans +
Les adressee IPv6 doivent être entourées de crochets, comme dans l'exemple suivant :
L'argument optionnel protocole n'est pas nécessaire +
L'argument optionnel protocole n'est pas nécessaire
dans la plupart des configurations. S'il est absent,
- https
est la valeur par défaut pour le port 443 et
+ https
est la valeur par défaut pour le port 443 et
http
l'est pour tous les autres ports. L'argument
- protocole sert à déterminer quel module doit traiter une requête, et
- à appliquer des optimisations spécifiques à certains protocoles à
+ protocole sert à déterminer quel module doit traiter une requête, et
+ à appliquer des optimisations spécifiques à certains protocoles Ã
l'aide de la directive
La spécification d'un protocole n'est nécessaire que si vous +
La spécification d'un protocole n'est nécessaire que si vous
utilisez des ports non standards. Par exemple, pour configurer un
site en https
sur le port 8443 :
Address already in use
.
Address already in
+discussion à propos du message d'erreur Address already in
use
, citant d'autres causes possibles.
SO_REUSEPORT
, et distribuant uniformément les nouvelles
-connexions aux sockets d'écoute des processus (ou threads) qui
-l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
-l'implémentation courante de SO_REUSEPORT
par les
+SO_REUSEPORT
, et distribuant uniformément les nouvelles
+connexions aux sockets d'écoute des processus (ou threads) qui
+l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
+l'implémentation courante de SO_REUSEPORT
par les
plateformes de type BSD.Vous pouvez utiliser la directive
- num_cpu_cores / ratio
- segments d'écoute, chacun contenant son propre socket d'écoute
- num_cpu_cores / ratio
+ segments d'écoute, chacun contenant son propre socket d'écoute
+
Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si Hotplug
+ a été configuré ; la directive
+
La directive
Pour que cette fonctionnalité soit activée, le nombre de coeurs
- de CPU doit être égal au moins au double du ratio
- spécifié. Si vous spécifiez la valeur recommandée pour
- ratio, à savoir 8
, le nombre minimum de
- coeurs de processeurs disponibles sera alors de 16
.
Pour que cette fonctionnalité soit activée, le nombre de coeurs
+ de CPU doit être égal au moins au double du ratio
+ spécifié. Si vous spécifiez la valeur recommandée pour
+ ratio, Ã savoir 8
, le nombre minimum de
+ coeurs de processeurs disponibles sera alors de 16
. La valeur
+ optimale de ratio permettant d'obtenir des performances maximales
+ doit être calculée pour chaque système cible, en testant plusieurs valeurs
+ et en observant les résultats.
La longueur maximale de la liste d'attente des connexions. En
- général, aucune modification n'est nécessaire, ni même souhaitable ;
- cependant, sur certains systèmes, il peut être nécessaire
+ général, aucune modification n'est nécessaire, ni même souhaitable ;
+ cependant, sur certains systèmes, il peut être nécessaire
d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en
- masse de requêtes SYN pour saturer le serveur). Voir le paramètre
- backlog de l'appel système listen(2)
.
En fait, l'argument backlog sera souvent limité à une valeur - inférieure en fonction du système d'exploitation. Notez aussi que de - nombreux systèmes d'exploitation ne tiennent pas vraiment compte de - la valeur spécifiée pour l'argument backlog, mais s'en inspirent - seulement (et choisissent en général une valeur supérieure).
+ masse de requêtes SYN pour saturer le serveur). Voir le paramètre + backlog de l'appel systèmelisten(2)
.
+
+ En fait, l'argument backlog sera souvent limité à une valeur + inférieure en fonction du système d'exploitation. Notez aussi que de + nombreux systèmes d'exploitation ne tiennent pas vraiment compte de + la valeur spécifiée pour l'argument backlog, mais s'en inspirent + seulement (et choisissent en général une valeur supérieure).
La directive
Pour les serveurs non threadés (c'est à dire utilisant +
Pour les serveurs non threadés (c'est à dire utilisant
256
; si
+ 256
; si
vous l'augmentez, vous devez aussi augmenter la valeur de la
directive
Pour les serveur threadés et hybrides (utilisant par
+ Pour les serveur threadés et hybrides (utilisant par
exemple Le nom de la directive 16
+ cas des MPMs hybrides, la valeur par défaut est 16
(directive 25
(directive
free()
free()
free()
La directive
La directive free()
. Dans les MPMs
- threadés, chaque thread possède son propre allocateur. Si elle est
- définie à 0, la quantité de mémoire libre que peut conserver un
- allocateur est illimitée.
free()
. Dans les MPMs
+ threadés, chaque thread possède son propre allocateur. Si elle est
+ définie à 0, la quantité de mémoire libre que peut conserver un
+ allocateur est illimitée.
MaxRequestsPerChild
est encore
-supporté.La directive 0
, il n'y a plus aucune limite sur le nombre
+ enfant est arrêté. Si 0
, il n'y a plus aucune limite sur le nombre
de connexions que le processus pourra traiter.
Définir
Définir
C'est le nombre maximum de threads inactifs. Les MPMs utilisent - cette directive de différentes manières.
+ cette directive de différentes manières. -Pour MaxSpareThreads 250
. Ce MPM gère les threads inactifs
- au niveau du serveur. Si le serveur possède trop de threads
- inactifs, des processus enfants seront arrêtés jusqu'à ce que le
+
Pour MaxSpareThreads 250
. Ce MPM gère les threads inactifs
+ au niveau du serveur. Si le serveur possède trop de threads
+ inactifs, des processus enfants seront arrêtés jusqu'à ce que le
nombre de threads inactifs repasse en dessous de cette limite.
Pour MaxSpareThreads 100
. Comme ce MPM n'exécute qu'un seul
- processus, le nombre de processus inactifs est surveillé au
+
Pour MaxSpareThreads 100
. Comme ce MPM n'exécute qu'un seul
+ processus, le nombre de processus inactifs est surveillé au
niveau du serveur.
10
.
10
.
La gamme de valeurs pour
C'est le nombre minimum de threads inactifs pour être en mesure - de traiter les pics de requêtes. Les MPMs utilisent cette directive - de différentes manières.
+C'est le nombre minimum de threads inactifs pour être en mesure + de traiter les pics de requêtes. Les MPMs utilisent cette directive + de différentes manières.
-Avec
Avec MinSpareThreads 75
, et le nombre de threads inactifs
- est surveillé au niveau du serveur. Si le serveur ne possède pas
- assez de threads inactifs, des processus enfants sont créés jusqu'à
+ est surveillé au niveau du serveur. Si le serveur ne possède pas
+ assez de threads inactifs, des processus enfants sont créés jusqu'Ã
ce que le nombre de threads inactifs repasse au dessus de
nombre.
Avec MinSpareThreads 10
et, comme ce MPM n'exécute qu'un
- seul processus, le nombre de threads est surveillé au niveau du
+
Avec MinSpareThreads 10
et, comme ce MPM n'exécute qu'un
+ seul processus, le nombre de threads est surveillé au niveau du
serveur.
5
.
5
.
Le serveur HTTP Apache utilise un tableau de bord pour la communication entre le processus parent et les processus enfants. Pour faciliter cette communication, certaines architectures - nécessitent un fichier. En l'absence de cette directive, donc si - aucun nom de fichier n'est spécifié, Apache httpd tentera tout - d'abord de créer un tableau uniquement en mémoire (en utilisant la - mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de - créer un fichier sur disque (en utilisant la mémoire partagée à base - de fichier). Si cette directive est utilisée, Apache httpd créera - systématiquement un fichier sur disque.
+ nécessitent un fichier. En l'absence de cette directive, donc si + aucun nom de fichier n'est spécifié, Apache httpd tentera tout + d'abord de créer un tableau uniquement en mémoire (en utilisant la + mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de + créer un fichier sur disque (en utilisant la mémoire partagée à base + de fichier). Si cette directive est utilisée, Apache httpd créera + systématiquement un fichier sur disque.Une mémoire partagée sous forme de fichier est utile pour les - applications tierces qui nécessitent un accès direct au tableau de +
Une mémoire partagée sous forme de fichier est utile pour les + applications tierces qui nécessitent un accès direct au tableau de bord des processus.
Si vous utilisez un
Le serveur va fixer la taille du tampon TCP en entrée au - nombre d'octets spécifié.
+Le serveur va fixer la taille du tampon TCP en entrée au + nombre d'octets spécifié.
-Si la directive est définie à 0
, le serveur va
- utiliser la valeur par défaut adoptée par le système
+
Si la directive est définie à 0
, le serveur va
+ utiliser la valeur par défaut adoptée par le système
d'exploitation.
Définit la taille du tampon TCP en sortie avec le nombre - d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les - valeurs par défaut standards du passé des systèmes d'exploitation - pour les transmissions à grande vitesse et haute densité (c'est - à dire de l'ordre de 100ms comme sur les liaisons rapides +
Définit la taille du tampon TCP en sortie avec le nombre + d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les + valeurs par défaut standards du passé des systèmes d'exploitation + pour les transmissions à grande vitesse et haute densité (c'est + à dire de l'ordre de 100ms comme sur les liaisons rapides transcontinentales).
-Si la directive est définie à 0
, le serveur va
- utiliser la valeur par défaut adoptée par le système
+
Si la directive est définie à 0
, le serveur va
+ utiliser la valeur par défaut adoptée par le système
d'exploitation.
L'amélioration des performances des connexions à grande vitesse - et à temps de latence élevé, peut nécessiter - une intervention au niveau de la configuration de votre système +
L'amélioration des performances des connexions à grande vitesse + et à temps de latence élevé, peut nécessiter + une intervention au niveau de la configuration de votre système d'exploitation.
-Sous certains systèmes d'exploitation, la modification du
+ Sous certains systèmes d'exploitation, la modification du
comportement TCP via une augmentation de la valeur de
-
Avec le MPM
Cette directive doit être utilisée avec précaution. Si
-
Cette directive doit être utilisée avec précaution. Si
+
Avec les MPMs
Avec
Il existe une limite de ServerLimit 20000
codée en
+
Il existe une limite de ServerLimit 20000
codée en
dur dans le serveur (200000 pour le MPM
La directive
La valeur par défaut diffère d'un MPM à l'autre. Pour
- StartServers 3
; la valeur par défaut est
+
La valeur par défaut diffère d'un MPM à l'autre. Pour
+ StartServers 3
; la valeur par défaut est
5
pour 2
pour
C'est le nombre de threads créés au démarrage du serveur. Comme - le nombre de threads est contrôlé dynamiquement +
C'est le nombre de threads créés au démarrage du serveur. Comme
+ le nombre de threads est contrôlé dynamiquement
en fonction de la charge (voir
Pour
Pour StartThreads 50
et, comme il n'y a qu'un processus, il
- s'agit du nombre total de threads créés au démarrage pour servir les
- requêtes.
Cette directive permet de définir le nombre maximum que l'on peut
- affecter à la directive
Cette directive permet de définir le nombre maximum que l'on peut
+ affecter à la directive
L'utilisation de cette directive doit faire l'objet de
- précautions particulières. Si
La valeur par défaut de la directive +
La valeur par défaut de la directive
1920
avec
64
avec les autres
MPMs.
Il existe une limite de ThreadLimit 20000
(ou
ThreadLimit 100000
avec ThreadLimit 15000
avec
Cette directive permet de définir le nombre de threads que va - créer chaque processus enfant. Un processus enfant crée ces threads - au démarrage et n'en crée plus d'autres par la suite. Si l'on +
Cette directive permet de définir le nombre de threads que va
+ créer chaque processus enfant. Un processus enfant crée ces threads
+ au démarrage et n'en crée plus d'autres par la suite. Si l'on
utilise un MPM comme
La valeur par défaut de la directive +
La valeur par défaut de la directive
64
avec
25
avec les autres
MPMs.
La directive
ulimit -s
(8Mo si aucune limite) qui est
- utilisée comme taille de pile par défaut.