From: Stefan Fritsch La documentation de cette directive
- n'a pas encore t traduite. Veuillez vous reporter la version
- en langue anglaise. Lorsque cette directive est définie à On, le démarrage du serveur
+ échouera si le binaire suexec n'existe pas, ou possède un mode de
+ fichier ou un propriétaire invalides. Lorsque cette directive est définie à Off, la fonctionnalité
+ suEXEC est désactivée, même si le binaire suexec existe et possède
+ un mode de fichier et un propriétaire valides. This directive can set various timeouts for receiving the request headers
diff --git a/docs/manual/mod/mod_rewrite.html.fr b/docs/manual/mod/mod_rewrite.html.fr
index 23bd7e3dd76..01feca4d74f 100644
--- a/docs/manual/mod/mod_rewrite.html.fr
+++ b/docs/manual/mod/mod_rewrite.html.fr
@@ -415,7 +415,9 @@ la r
Suexec Directive
-
+Description: Enable or disable the suEXEC feature Description: Active ou désactive la fonctionnalité suEXEC
-Syntaxe: Suexec On|Off
+Défaut: On if suexec binary exists with proper owner and mode,
-Off otherwise
Défaut: On si le binaire suexec existe avec un mode et un propriétaire
+appropriés, Off dans le cas contraire
Contexte: configuration du serveur Statut: Core
-Module: core
-Compatibilité: Available in Apache httpd 2.2.18 and later
+
+ Compatibilité: Disponible depuis la version 2.2.18 d'Apache httpd TimeOut Directive
diff --git a/docs/manual/mod/mod_proxy.html.fr b/docs/manual/mod/mod_proxy.html.fr
index df4bf958077..fa0b9e4a89c 100644
--- a/docs/manual/mod/mod_proxy.html.fr
+++ b/docs/manual/mod/mod_proxy.html.fr
@@ -1208,9 +1208,9 @@ l'espace d'URLs du serveur local
diff --git a/docs/manual/mod/mod_reqtimeout.html.en b/docs/manual/mod/mod_reqtimeout.html.en
index 10202736dc8..40c1e048c1b 100644
--- a/docs/manual/mod/mod_reqtimeout.html.en
+++ b/docs/manual/mod/mod_reqtimeout.html.en
@@ -25,7 +25,7 @@
ttl
-
Durée de vie des connexions inactives et des entrées
- associées du jeu de connexions. Celles qui sont inutilisées au
- bout de ttl
secondes seront respectivement fermées
- et libérées.
+ associées du jeu de connexions. Lorsque cette limite est
+ atteinte, la connexion concernée ne sera plus utilisée ; elle
+ sera ensuite fermée au bout d'un certain temps.
@@ -98,7 +98,7 @@
-Description: Set timeout and minimum data rate for receiving requests
+Status: Experimental Status: Extension Module Identifier: reqtimeout_module Source File: mod_reqtimeout.c Compatibility: Available in Apache 2.2.15 and later Default: Unset; no limit
-Context: server config, virtual host
+Status: Experimental Status: Extension Module: mod_reqtimeout GET
/index.html HTTP/1.1
"), à l'exclusion de tout
- en-tête ajouté par le navigateur.REQUEST_URI
Suexec
Le code gérant les serveurs virtuels a été réécrit à partir de
- zéro dans Apache 1.3. Ce document vise à expliquer
- dans le détail comment Apache procède lors du choix de l'utilisation
- d'un serveur virtuel en fonction d'une requête reçue. L'apparition
- de la directive NameVirtualHost
- a rendu beaucoup plus facile et plus sûre la configuration des
+
Le code gérant les serveurs virtuels a été réécrit à partir de
+ zéro dans Apache 1.3. Ce document vise à expliquer
+ dans le détail comment Apache procède lors du choix de l'utilisation
+ d'un serveur virtuel en fonction d'une requête reçue. L'apparition
+ de la directive NameVirtualHost
+ a rendu beaucoup plus facile et plus sûre la configuration des
serveurs virtuels par rapport aux versions précédant la 1.3.
Si vous voulez juste que ça marche sans en
- comprendre le fonctionnement, voici quelques
+ Si vous voulez juste que ça marche sans en
+ comprendre le fonctionnement, voici quelques
exemples. Un serveur principal (main_server) contient toutes
- les définitions qui apparaissent en dehors des sections
- Un serveur principal (main_server) contient toutes
+ les définitions qui apparaissent en dehors des sections
+ Les directives
- La valeur par défaut du champ Le serveur principal n'a pas de valeur par
+ défaut pour La directive Listen associée au serveur principal a deux utilités.
- La première détermine le port réseau sur lequel Apache va écouter.
- La deuxième spécifie le port qui sera utilisé dans les URIs absolus
- lors des redirections. À la différence du serveur principal, les ports des serveurs
- virtuels n'affectent pas les ports sur lesquels
- Apache se met à l'écoute. Chaque adresse incluse dans une directive Les numéros de port spécifiés par la directive
+ Chaque adresse incluse dans une directive À moins qu'une directive
- Dans les cas où l'on souhaite utiliser un serveur virtuel
- par nom, la directive On peut utiliser plusieurs directives À moins qu'une directive
+ Si vous souhaitez qu'Apache affine ses critères de
+ sélection en faisant entrer en jeu l'en-tête HTTP La sélection du serveur virtuel en fonction du nom n'intervient
+ qu'après la sélection d'un serveur virtuel à base d'adresse IP
+ unique, et ne prend en compte que l'ensemble des serveurs virtuels
+ qui possèdent la même paire adresse IP/port. On peut utiliser des nom d'hôtes à la place d'adresses IP dans la
+ définition des serveurs virtuels, mais ils seront résolus en
+ adresses IP au démarrage du serveur et ceci n'est pas recommandé. On peut utiliser plusieurs directives L'ordre d'apparition des directives L'ordre d'apparition des directives (Il est conseillé d'adopter le choix de gauche pour faciliter
+ (Il est conseillé d'adopter le choix de gauche pour faciliter
la lisibilité des fichiers de configuration.) Après la lecture de la directive La liste complète des noms d'une directive Pendant la phase d'initialisation, une liste de chaque adresse
- IP est générée et introduite dans une table de 'hash'. Si une
- adresse IP est utilisée dans une directive Pendant la phase d'initialisation, une liste de chaque adresse
+ IP est générée et introduite dans une table de 'hash'. Si une
+ adresse IP est utilisée dans une directive La fonction de 'hash' étant rapide, le temps d'exécution d'un
- 'hash' sur une adresse IP lors d'une requête est minimale et
- quasiment imperceptible. De plus, la table est optimisée pour les
+ La fonction de 'hash' étant rapide, le temps d'exécution d'un
+ 'hash' sur une adresse IP lors d'une requête est minimale et
+ quasiment imperceptible. De plus, la table est optimisée pour les
adresses IP dont le dernier octet est le seul à changer. Pour chaque serveur virtuel, diverses valeurs sont initialisées
+ Pour chaque serveur virtuel, diverses valeurs sont initialisées
par défaut. En particulier : L'essentiel des valeurs de configuration des serveurs virtuels
+ L'essentiel des valeurs de configuration des serveurs virtuels
provient de valeurs par défaut issues du serveur principal.
Mais la position dans le fichier de configuration des directives
- du serveur principal n'a pas d'importance -- l'ensemble de la
- configuration du serveur principal est lu avant que ces valeurs par
- défaut soient appliquées aux serveur virtuels. Ainsi, même si la
- définition d'une valeur apparaît après celle d'un serveur virtuel,
+ du serveur principal n'a pas d'importance -- l'ensemble de la
+ configuration du serveur principal est lu avant que ces valeurs par
+ défaut soient appliquées aux serveur virtuels. Ainsi, même si la
+ définition d'une valeur apparaît après celle d'un serveur virtuel,
cette valeur peut affecter la definition du serveur virtuel. Dans le cas où le serveur principal n'a pas de Dans le cas où le serveur principal n'a pas de Pour tous les champs Pour tous les champs Si un serveur virtuel contient la valeur magique
- Si un serveur virtuel contient la valeur magique
+ Après que le client se soit connecté, l'adresse
- IP à laquelle le client s'est connecté est recherchée dans la
+ Après que le client se soit connecté, l'adresse
+ IP à laquelle le client s'est connecté est recherchée dans la
table de hash IP interne. Si la résolution de l'adresse IP n'aboutit pas (adresse IP non
- trouvée), la requête est servie par le serveur virtuel
- Si la résolution de l'adresse IP n'aboutit pas (adresse IP non
+ trouvée), la requête est servie par le serveur virtuel
+ Si l'adresse IP n'est pas trouvée dans la table de hash, la
- recherche du numéro de port peut aussi se terminer par une
- correspondance à un Si une liste est bien trouvée dans la table pour l'adresse
- IP recherchée, l'étape suivante est de déterminer s'il s'agit
+ Si l'adresse IP n'est pas trouvée dans la table de hash, la
+ recherche du numéro de port peut aussi se terminer par une
+ correspondance à un Si une liste est bien trouvée dans la table pour l'adresse
+ IP recherchée, l'étape suivante est de déterminer s'il s'agit
d'un serveur virtuel par nom ou par IP. Si l'entrée trouvée dispose d'une liste de noms vide, c'est
- qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
+ Si l'entrée trouvée dispose d'une liste de noms vide, c'est
+ qu'il s'agit d'un serveur virtuel par IP, et aucun autre choix
n'est plus à faire ; la requête est servie par ce serveur virtuel. Si l'entrée trouvée correspond à un serveur virtuel par nom,
- la liste de noms contient au moins une structure de serveurs
- virtuels. Les serveurs virtuels se présentent dans cette liste
- dans le même ordre que la lecture des directives Si l'entrée trouvée correspond à un serveur virtuel par nom,
+ la liste de noms contient au moins une structure de serveurs
+ virtuels. Les serveurs virtuels se présentent dans cette liste
+ dans le même ordre que la lecture des directives Le premier serveur virtuel de cette liste (donc, le premier
- serveur virtuel attribué à une adresse IP donnée dans le fichier
- de configuration) se voit attribuer la plus grande priorité, ce
- qui signifie que c'est lui qui traite les requêtes présentant un
- nom de serveur invalide ou ne présentant pas de champ
+ Le premier serveur virtuel de cette liste (donc, le premier
+ serveur virtuel du fichier de configuration
+ attribué à l'adresse IP spécifiée)
+ se voit attribuer la plus grande priorité, ce
+ qui signifie que c'est lui qui traite les requêtes présentant un
+ nom de serveur invalide ou ne présentant pas de champ
Si un champ Si un champ Dans le cas où le client a envoyé une requête en HTTP/1.0 sans
- un champ d'en-tête Dans le cas où le client a envoyé une requête en HTTP/1.0 sans
+ champ d'en-tête Si aucun serveur virtuel n'est trouvé, la requête est servie
- par le premier serveur virtuel qui écoute sur le port demandé et
- qui est sur la liste associée à l'adresse IP vers laquelle la
+ Si aucun serveur virtuel n'est trouvé, la requête est servie
+ par le premier serveur virtuel qui écoute sur le port demandé et
+ qui est sur la liste associée à l'adresse IP vers laquelle la
requête a été envoyée (comme déjà précisé ci-avant). La recherche par adresse IP décrite ci-avant n'est faite
- qu'une fois pour chaque session TCP/IP, alors que la
- recherche par nom est réalisée pour chaque requête au
- cours d'une connexion persistante (KeepAlive). En d'autres termes,
- il est possible pour un client de faire des requêtes sur
- différents serveurs virtuels par nom, au cours d'une unique
+ La recherche par adresse IP décrite ci-avant n'est faite
+ qu'une fois pour chaque session TCP/IP, alors que la
+ recherche par nom est réalisée pour chaque requête au
+ cours d'une connexion persistante (KeepAlive). En d'autres termes,
+ il est possible pour un client de faire des requêtes sur
+ différents serveurs virtuels par nom, au cours d'une unique
connexion persistante. Au cas où l'URI de la requête est absolu, et que son nom de
- serveur et son port correspondent au serveur principal (ou l'un
- des serveurs virtuels configurés), et qu'ils correspondent
- à l'adresse et au port de la requête, alors l'URI est amputé
- de son préfixe protocole/nom de serveur/port et traité par le
- serveur correspondant (principal ou virtuel). Si cette correspondance
- n'existe pas, l'URI reste inchangé et la requête est considérée
+ Au cas où l'URI de la requête est absolu, et que son nom de
+ serveur et son port correspondent au serveur principal (ou l'un
+ des serveurs virtuels configurés), et qu'ils correspondent
+ à l'adresse et au port de la requête, alors l'URI est amputé
+ de son préfixe protocole/nom de serveur/port et traité par le
+ serveur correspondant (principal ou virtuel). Si cette correspondance
+ n'existe pas, l'URI reste inchangé et la requête est considérée
comme une requête d'un serveur mandataire (proxy). En plus des points évoqués sur la page des
- problèmes liés au DNS,
+ En plus des points évoqués sur la page des
+ problèmes liés au DNS,
voici quelques points intéressants : Le but de ce document est d'essayer de répondre aux questions
- les plus répandues sur la configuration des serveurs virtuels.
+ les plus répandues sur la configuration des serveurs virtuels.
Les scénarios présentés ici se rencontrent quand plusieurs
serveurs Webs doivent tourner sur une seule et même machine au
moyen de serveurs virtuels par nom
@@ -66,8 +64,8 @@
Votre serveur ne dispose que d'une seule adresse IP, et de
nombreux alias (CNAMES) pointent vers cette adresse dans le DNS.
- Pour l'exemple, La configuration de serveurs virtuels
sous Apache ne provoque pas leur apparition magique dans la
@@ -91,7 +89,7 @@
Les astérisques correspondent à toutes les adresses, si bien que
le serveur principal ne répondra jamais à aucune requête. Comme
- Le serveur dispose de deux adresses IP ( Le serveur dispose de deux adresses IP ( Le serveur virtuel par nom avec le nom de domaine
- Notez qu'il y a une singularité : une requête sur
Les directives Interprétation des fichiers
+
Interprétation des fichiers
+
Interprétation des fichiers
de configuration
- <VirtualHost>
. Les serveurs virtuels, aussi
- appelés vhosts (pour virtual hosts), sont définis par les
+ <VirtualHost>
. Les serveurs virtuels, aussi
+ appelés vhosts (pour virtual hosts), sont définis par les
sections <VirtualHost>
.Listen
,
- ServerName
,
- ServerPath
,
- et ServerAlias
+ ServerName
et
+ ServerPath
peuvent être placées n'importe où dans le cadre de définition d'un
- serveur. Cependant, chaque fois que l'une d'elles est lue, elle écrase
+ serveur. Cependant, chaque fois que l'une d'elles est lue, elle écrase
ses instances précédentes (dans le contexte du même serveur).Listen
pour le serveur
- principal est de 80. Le serveur principal n'a pas de valeur par
- défaut pour ServerPath
ni pour ServerAlias
.
- La valeur par défaut de ServerName
est déduite à partir
+ ServerPath
ni pour ServerAlias
.
+ La valeur par défaut de ServerName
est déduite à partir
de l'adresses IP du serveur.VirtualHost
- peut disposer d'un port optionnel. Si le port n'est pas précisé, il
- prend par défaut la dernière valeur de Listen
lue dans
- la configuration du serveur principal. Le port particulier
- *
représente un joker qui correspond à tous les ports.
- L'ensemble des adresses (y compris les résultats multiples
- A
issus des requêtes DNS) est appelé jeu
+ VirtualHost
n'ont rien à voir avec les ports sur
+ lesquels Apache va se mettre en écoute. Ils permettent seulement
+ de déterminer quel VirtualHost
devra être
+ sélectionné pour traiter la requête.VirtualHost
+ peut disposer d'un port optionnel. Si le port n'est pas précisé, il
+ pourra prendre n'importe quelle valeur. Le port particulier
+ *
représente un joker qui correspond à tous les ports.
+ L'ensemble des adresses (y compris les résultats multiples
+ A
issus des requêtes DNS) est appelé jeu
d'adresses du serveur virtuel.NameVirtualHost
ne soit utilisée
- pour une adresse IP spécifique, le premier serveur virtuel avec
- cette adresse est considéré comme un serveur virtuel par-IP.
- L'adresse IP peut également prendre la valeur joker *
.NameVirtualHost
doit
- apparaître avec l'adresse IP choisie. En d'autres termes, vous devez
- spécifier dans votre fichier de configuration l'adresse IP des noms
- de domaine (CNAME) de vos serveurs virtuels par nom au moyen de
- la directive NameVirtualHost
.NameVirtualHost
- pour un groupe de directives VirtualHost
, mais seule
- une directive NameVirtualHost
doit être utilisée pour
+ NameVirtualHost
ne soit utilisée
+ pour la paire adresse IP exacte/port dans la directive
+ VirtualHost
, Apache sélectionne le serveur virtuel qui
+ correspond le mieux en se basant sur l'adresse IP (ou une adresse
+ quelconque) et le numéro de port. Si plusieurs serveurs virtuels
+ correspondent sans pouvoir être départagés, c'est le premier qui
+ apparaît dans le fichier de configuration qui sera sélectionné.Host
+ fourni par le client, la directive NameVirtualHost
doit
+ apparaître avec la paire adresse IP exacte (ou adresse
+ quelconque)/port utilisée dans le jeu de directives
+ VirtualHost
correspondant.NameVirtualHost
+ pour un groupe de directives VirtualHost
, mais seule
+ une directive NameVirtualHost
doit être utilisée pour
chaque couple IP:port donné.NameVirtualHost
- et VirtualHost
est sans importance, ce qui fait que
- les deux exemples suivants ont des effets identiques (seul l'ordre
- des directives VirtualHost
pour un jeu
+ NameVirtualHost
+ et VirtualHost
est sans importance, ce qui fait que
+ les deux exemples suivants ont des effets identiques (seul l'ordre
+ des directives VirtualHost
pour un jeu
d'adresses est important, voir ci-dessous) :
-
@@ -159,84 +163,71 @@ de configuration
VirtualHost
, le
- serveur virtuel se voit attribuer une valeur Listen
- par défaut qui est la valeur du port associé au premier nom spécifié
- dans sa directive VirtualHost
.VirtualHost
- est gérée exactement comme des ServerAlias
(mais ne
- sont pas écrasés par d'autres ServerAlias
) si tous
- les noms sont résolus dans ce jeu d'adresse. À noter que les états
- Listen
de ce serveur virtuel sont sans incidence sur
- les ports attibués au jeu d'adresses.NameVirtualHost
,
- cette liste contient les noms des serveurs virtuels pour cette
- adresse. Si aucun serveur virtuel n'est défini pour cette adresse,
- la directive NameVirtualHost
est ignorée et un message
- est envoyé au journal d'erreurs. Quand un serveur virtuel par IP
+
+ NameVirtualHost
,
+ cette liste contient les noms des serveurs virtuels pour cette
+ adresse. Si aucun serveur virtuel n'est défini pour cette adresse,
+ la directive NameVirtualHost
est ignorée et un message
+ est envoyé au journal d'erreurs. Quand un serveur virtuel par IP
est utilisé, la table de 'hash' reste vide.
-
- ServerAdmin
,
- ResourceConfig
,
- AccessConfig
,
Timeout
,
KeepAliveTimeout
,
KeepAlive
,
MaxKeepAliveRequests
,
+ ReceiveBufferSize
,
ou SendBufferSize
,
alors la valeur de chacun de ces paramètres est héritée de celle du
serveur principal. (C'est à dire, héritée de la valeur finale après
lecture de la configuration du serveur principal.)ServerName
- à ce stade, le nom de la machine sur laquelle tourne le programme
- httpd
est utilisé à sa place. Nous appellerons
- jeu d'adresses du serveur principal, les adresses IP
- renvoyées par une résolution DNS sur le ServerName
+ ServerName
+ à ce stade, le nom de la machine sur laquelle tourne le programme
+ httpd
est utilisé à sa place. Nous appellerons
+ jeu d'adresses du serveur principal les adresses IP
+ renvoyées par une résolution DNS sur le ServerName
du serveur principal.ServerName
non définis, dans
- le cas d'une configuration en serveur virtuel par nom, la valeur
- adoptée par défaut est la première adresse donnée dans la section
+ ServerName
non définis, dans
+ le cas d'une configuration en serveur virtuel par nom, la valeur
+ adoptée par défaut est la première adresse donnée dans la section
VirtualHost
qui définit le serveur virtuel._default_
, il fonctionne sur le même ServerName
+ _default_
, il fonctionne sur le même ServerName
que le serveur principal.Vérification dans la table de hash
- _default_
s'il est défini pour le port correspondant
+ _default_
s'il est défini pour le port correspondant
à la requête. Sinon, elle est servie par le serveur principal.NameVirtualHost *
qui est géré
- ensuite comme les autres serveur virtuels par noms.NameVirtualHost *
qui est géré
+ ensuite comme les autres serveurs virtuels par noms.Serveur virtuel par IP
- Serveur virtuel par nom
- VirtualHost
+ VirtualHost
dans le fichier de configuration.Host:
dans l'en-tête.Host:
est transmis dans l'en-tête de
- la requête, son occurrence est recherchée dans la liste et le
- premier serveur virtuel qui présente un ServerName
- ou un ServerAlias
correspondant est choisi pour
- servir la requête. Il est possible que le champ Host:
- contienne un numéro de port, mais Apache utilise toujours le
+ Host:
est transmis dans l'en-tête de
+ la requête, son occurrence est recherchée dans la liste et le
+ premier serveur virtuel qui présente un ServerName
+ ou un ServerAlias
correspondant est choisi pour
+ servir la requête. Il est possible que le champ Host:
+ contienne un numéro de port, mais Apache utilise toujours le
port sur lequel il a effectivement reçu la requête.Host:
, il est impossible de
- déterminer le serveur auquel le client veut se connecter ; l'URI
- de la requête est recherché dans tous les ServerPath
- existants. Le premier chemin trouvé est utilisé et la requête est
+ Host:
, il est impossible de
+ déterminer le serveur auquel le client veut se connecter ; l'URI
+ de la requête est recherché dans tous les ServerPath
+ existants. Le premier chemin trouvé est utilisé et la requête est
servie par le serveur virtuel correspondant.Connexions persistantes
- URI absolu
- Observations
-
@@ -424,28 +419,29 @@ de configuration
NameVirtualHost
.ServerAlias
et
- ServerPath
ne sont jamais réalisées pour les
+ ServerAlias
et
+ ServerPath
ne sont jamais réalisées pour les
serveurs virtuels par IP._default_
, les
- serveurs virtuels par nom et par IP, et la directive
- NameVirtualHost
est sans incidence sur le
- fonctionnement. Seul l'ordre des serveurs virtuels par nom
- pour une adresse donnée a une importance. Le serveur virtuel
- par nom qui est présent en premier dans la configuration se
- voit attribué la priorité la plus haute pour les requêtes
+ _default_
, les
+ serveurs virtuels par nom et par IP, et la directive
+ NameVirtualHost
est sans incidence sur le
+ fonctionnement. Seul l'ordre des serveurs virtuels par nom
+ pour une adresse donnée a une importance. Le serveur virtuel
+ par nom qui est présent en premier dans la configuration se
+ voit attribué la priorité la plus haute pour les requêtes
arrivant sur son jeu d'adresses IP.Host:
n'est jamais utilisé
- pour les tests de correspondances. Apache ne prend en compte
+ Host:
n'est jamais utilisé
+ pour les tests de correspondances. Apache ne prend en compte
que le numéro de port sur lequel le client a envoyé la requête.ServerPath
existe, et se
- trouve être préfixe d'une autre directive ServerPath
- qui apparaît plus loin dans la configuration, la première
- sera toujours utilisée et la deuxième jamais. (Ceci ne se
- produit que dans le cas où aucun champ Host:
+ ServerPath
existe, et se
+ trouve être préfixe d'une autre directive ServerPath
+ qui apparaît plus loin dans la configuration, la première
+ sera toujours utilisée et la deuxième jamais. (Ceci ne se
+ produit que dans le cas où aucun champ Host:
n'a été présenté par le client pour distinguer les deux.)_default_
ne sert la requête
- que si aucun autre serveur virtuel travaillant sur l'adresse
- IP et le port demandés n'est trouvé. La requête n'est
- traitée que si le numéro de port qui a reçu la requête est
- associé au serveur virtuel _default_
(qui par
- défaut, correspond à Listen
). Un port joker peut
- être spécifié (comme dans _default_:*
)
- pour récupérer les requêtes sur tous les ports ouverts. Ceci
- est également applicable aux serveurs virtuels
- NameVirtualHost *
._default_
). En d'autres termes, le serveur
- principal n'est utile que pour les combinaisons adresse/port
- non spécifiées (sauf quand un serveur virtuel _default_
+ _default_
ne sert la requête
+ que si aucun autre serveur virtuel travaillant sur l'adresse
+ IP et le port demandés n'est trouvé. La requête n'est
+ traitée que si le numéro de port qui a reçu la requête est
+ associé au serveur virtuel _default_
(qui par
+ défaut, correspond à Listen
). Un port joker peut
+ être spécifié (comme dans _default_:*
)
+ pour récupérer les requêtes sur tous les ports ouverts. Ceci
+ est également applicable aux serveurs virtuels
+ NameVirtualHost *
. Notez que ceci n'est qu'une
+ extension du principe de "meilleure correspondance", au même titre
+ qu'une correspondance spécifique et exacte est préférée à une
+ valeur quelconque._default_
). En d'autres termes, le serveur
+ principal n'est utile que pour les combinaisons adresse/port
+ non spécifiées (sauf quand un serveur virtuel _default_
correspond au port)._default_
, ni le
- serveur principal ne sont utilisés pour traiter une requête
- avec un champ d'en-tête Host:
manquant ou vide
- lorsque l'adresse (et le port) de connexion correspondent à
- des serveurs virtuels par nom, par exemple, dans une directive
+ _default_
, ni le
+ serveur principal ne sont utilisés pour traiter une requête
+ avec un champ d'en-tête Host:
inconnu ou manquant
+ lorsque l'adresse (et le port) de connexion correspondent à
+ des serveurs virtuels par nom, par exemple, dans une directive
NameVirtualHost
.VirtualHost
, car cela oblige le serveur a s'appuyer
- sur le DNS au moment du démarrage. De plus, vous vous exposez
- à des problèmes de sécurité si vous n'avez pas la maîtrise du
- DNS pour la totalité de vos domaines. Voir la documentation
- disponible ici, ainsi que
+ VirtualHost
, car cela oblige le serveur a s'appuyer
+ sur le DNS au moment du démarrage. De plus, vous vous exposez
+ à des problèmes de sécurité si vous n'avez pas la maîtrise du
+ DNS pour la totalité de vos domaines. Voir la documentation
+ disponible ici, ainsi que
les deux points précisés ci-après.ServerName
devrait toujours
- être indiqué pour chaque serveur virtuel. Sans cela, une
+ ServerName
devrait toujours
+ être indiqué pour chaque serveur virtuel. Sans cela, une
résolution DNS est nécessaire pour chaque serveur virtuel.Trucs et astuces
-
-
diff --git a/docs/manual/vhosts/details.xml.meta b/docs/manual/vhosts/details.xml.meta
index c66ce2a02ab..218242a6f0a 100644
--- a/docs/manual/vhosts/details.xml.meta
+++ b/docs/manual/vhosts/details.xml.meta
@@ -8,7 +8,7 @@
VirtualHost
.
- (Ceci améliore grandement la lisibilité de la configuration
- -- la manière dont la configuration est interprétée après la
- lecture des fichiers ne met pas en évidence le fait que les
- définitions positionnées avant et surtout après les serveurs
- virtuels peuvent impacter le fonctionnement des serveurs virtuels.)NameVirtualHost
- et VirtualHost
dans la configuration pour une
- meilleure lisibilité.ServerPaths
qui sont préfixes
- d'autres ServerPaths
. Si cela ne peut être évité,
- veillez à ce que le serveur virtuel contenant le préfixe le plus
- long (donc le plus précis) apparaisse dans le fichier de
- configuration avant le plus court. (par exemple,
+ VirtualHost
.
+ (Ceci améliore grandement la lisibilité de la configuration
+ -- la manière dont la configuration est interprétée après la
+ lecture des fichiers ne met pas en évidence le fait que les
+ définitions positionnées avant et surtout après les serveurs
+ virtuels peuvent impacter le fonctionnement de tous les
+ serveurs virtuels.)NameVirtualHost
+ et VirtualHost
correspondantes
+ dans la configuration pour une meilleure lisibilité.ServerPaths
qui sont préfixes
+ d'autres ServerPaths
. Si cela ne peut être évité,
+ veillez à ce que le serveur virtuel contenant le préfixe le plus
+ long (donc le plus précis) apparaisse dans le fichier de
+ configuration avant le plus court. (par exemple,
"ServerPath /abc" est à spécifier après "ServerPath /abc/def").www.example1.com
et
- www.example2.org
doivent tourner sur cette machine.www.example.com
et
+ www.example.org
doivent tourner sur cette machine.
Note :
<VirtualHost *:80>
- DocumentRoot /www/example1
+ DocumentRoot /www/example.com
ServerName www.example1.com
# Autres directives ici
@@ -101,7 +99,7 @@
<VirtualHost *:80>
- DocumentRoot /www/example2
+ DocumentRoot /www/example.org
ServerName www.example2.org
# Autres directives ici
@@ -112,10 +110,10 @@
www.example1.com
se trouve en premier dans le fichier
+ www.example.com
se 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 ;
- ce qui signifie que toute requête reçue ne correspondant pas à une
+ ce qui signifie que toute requête reçue ne correspondant à aucune
des directives ServerName
sera servie par ce premier
VirtualHost
.
<VirtualHost 172.20.30.50>
- DocumentRoot /www/example1
- ServerName www.example1.com
+ DocumentRoot /www/example.com
+ ServerName www.example.com
# D'autres directives ici ...
@@ -190,8 +188,8 @@
<VirtualHost 172.20.30.50>
- DocumentRoot /www/example2
- ServerName www.example2.org
+ DocumentRoot /www/example.org
+ ServerName www.example.org
# D'autres directives ici ...
@@ -203,7 +201,7 @@
172.20.30.50
sera servie par le serveur principal.
Les requêtes vers 172.20.30.50
avec un nom de serveur
inconnu, ou sans en-tête Host:
, seront servies par
- www.example1.com
.www.example.com
.
<VirtualHost 172.20.30.40:80>
- ServerName www.example1.com
+ ServerName www.example.com
DocumentRoot /www/domain-80
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
- ServerName www.example1.com
+ ServerName www.example.com
DocumentRoot /www/domain-8080
</VirtualHost>
<VirtualHost 172.20.30.40:80>
- ServerName www.example2.org
+ ServerName www.example.org
DocumentRoot /www/otherdomain-80
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
- ServerName www.example2.org
+ ServerName www.example.org
DocumentRoot /www/otherdomain-8080
</VirtualHost>
@@ -309,7 +307,7 @@
172.20.30.40
et 172.20.30.50
) correspondant respectivement aux noms
- www.example1.com
et www.example2.org
.www.example.com
et www.example.org
.
Configuration du serveur
@@ -318,14 +316,14 @@
<VirtualHost 172.20.30.40>
- DocumentRoot /www/example1
+ DocumentRoot /www/example.com
ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.50>
- DocumentRoot /www/example2
+ DocumentRoot /www/example.org
ServerName www.example2.org
</VirtualHost>
@@ -343,7 +341,7 @@
172.20.30.40
et 172.20.30.50
) correspondant respectivement aux noms
- www.example1.com
et www.example2.org
.
+ www.example.com
et www.example.org
.
Pour chacun d'eux, nous voulons un hébergement sur les ports 80
et 8080.
<VirtualHost 172.20.30.40:80>
- DocumentRoot /www/example1-80
- ServerName www.example1.com
+ DocumentRoot /www/example.com-80
+ ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
- DocumentRoot /www/example1-8080
- ServerName www.example1.com
+ DocumentRoot /www/example.com-8080
+ ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.50:80>
- DocumentRoot /www/example2-80
- ServerName www.example1.org
+ DocumentRoot /www/example.org-80
+ ServerName www.example.org
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
- DocumentRoot /www/example2-8080
- ServerName www.example2.org
+ DocumentRoot /www/example.org-8080
+ ServerName www.example.org
</VirtualHost>
<VirtualHost 172.20.30.40>
- DocumentRoot /www/example1
- ServerName www.example1.com
+ DocumentRoot /www/example.com
+ ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.40>
- DocumentRoot /www/example2
- ServerName www.example2.org
+ DocumentRoot /www/example.org
+ ServerName www.example.org
</VirtualHost>
<VirtualHost 172.20.30.40>
- DocumentRoot /www/example3
- ServerName www.example3.net
+ DocumentRoot /www/example.net
+ ServerName www.example.net
</VirtualHost>
# "par-IP"
<VirtualHost 172.20.30.50>
- DocumentRoot /www/example4
- ServerName www.example4.edu
+ DocumentRoot /www/example.edu
+ ServerName www.example.edu
</VirtualHost>
<VirtualHost 172.20.30.60>
- DocumentRoot /www/example5
- ServerName www.example5.gov
+ DocumentRoot /www/example.gov
+ ServerName www.example.gov
</VirtualHost>
www.example2.org
(de notre exemple
+ www.example.org
(de notre exemple
par nom) devrait obtenir sa propre adresse IP. Pendant la
phase de migration, il est possible d'éviter les problèmes avec
les noms de serveurs et autres serveurs mandataires qui mémorisent
@@ -572,24 +570,24 @@
Listen 80
- ServerName www.example1.com
- DocumentRoot /www/example1
+ ServerName www.example.com
+ DocumentRoot /www/example.com
NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40 172.20.30.50>
- DocumentRoot /www/example2
- ServerName www.example2.org
+ DocumentRoot /www/example.org
+ ServerName www.example.org
# ...
</VirtualHost>
<VirtualHost 172.20.30.40>
- DocumentRoot /www/example3
- ServerName www.example3.net
- ServerAlias *.example3.net
+ DocumentRoot /www/example.net
+ ServerName www.example.net
+ ServerAlias *.example.net
# ...
</VirtualHost>
@@ -660,12 +658,12 @@
Une requête sur une URL http://www.sub1.domain.tld/
n'est
servie par le serveur sub1-vhost que si le client envoie un en-tête
Host:
correct. Si aucun en-tête Host:
- n'est transmis, le serveur primaire sera utilisé.
- Notez qu'il y a une singularité : une requête sur
+ n'est transmis, le serveur primaire sera utilisé.http://www.sub2.domain.tld/sub1/
est également servie
par le serveur sub1-vhost si le client n'envoie pas d'en-tête
- Host:
.
- Les directives RewriteRule
+ Host:
.RewriteRule
sont employées pour s'assurer que le client qui envoie un en-tête
Host:
correct puisse utiliser d'autres variantes d'URLs,
c'est-à-dire avec ou sans préfixe d'URL.