|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
|
|
Packit |
90a5c9 |
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
This file is generated from xml source: DO NOT EDIT
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
-->
|
|
Packit |
90a5c9 |
<title>Support Apache des serveurs virtuels par nom - Serveur HTTP Apache Version 2.4</title>
|
|
Packit |
90a5c9 |
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
|
Packit |
90a5c9 |
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
|
Packit |
90a5c9 |
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
|
|
Packit |
90a5c9 |
<script src="../style/scripts/prettify.min.js" type="text/javascript">
|
|
Packit |
90a5c9 |
</script>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
|
|
Packit |
90a5c9 |
<body id="manual-page">
|
|
Packit |
90a5c9 |
Modules | Directives | FAQ | Glossaire | Plan du site
|
|
Packit |
90a5c9 |
Serveur HTTP Apache Version 2.4
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Apache > Serveur HTTP > Documentation > Version 2.4 > Serveurs virtuelsSupport Apache des serveurs virtuels par nom
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Langues Disponibles: de |
|
|
Packit |
90a5c9 |
en |
|
|
Packit |
90a5c9 |
fr |
|
|
Packit |
90a5c9 |
ja |
|
|
Packit |
90a5c9 |
ko |
|
|
Packit |
90a5c9 |
tr
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Ce document décrit quand et comment utiliser des serveurs
|
|
Packit |
90a5c9 |
virtuels par nom.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Comment le serveur sélectionne-t-il le serveur
|
|
Packit |
90a5c9 |
virtuel basé sur le nom approprié
|
|
Packit |
90a5c9 |
Utilisation de serveurs virtuels par nom
|
|
Packit |
90a5c9 |
Voir aussi
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Les serveurs virtuels par IP utilisent l'adresse IP
|
|
Packit |
90a5c9 |
de la connexion afin de déterminer quel serveur virtuel doit
|
|
Packit |
90a5c9 |
répondre. Par conséquent, vous devez disposer d'adresses IP
|
|
Packit |
90a5c9 |
différentes pour chaque serveur.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Avec un hébergement
|
|
Packit |
90a5c9 |
virtuel par nom, le serveur s'appuie sur les informations
|
|
Packit |
90a5c9 |
transmises par le client dans les en-têtes HTTP de ses requêtes.
|
|
Packit |
90a5c9 |
La technique présentée ici vous permet de disposer de serveurs
|
|
Packit |
90a5c9 |
virtuels différents partagés sur une même adresse IP.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
L'hébergement virtuel par nom est habituellement plus simple,
|
|
Packit |
90a5c9 |
car il vous suffit de configurer votre serveur DNS pour que
|
|
Packit |
90a5c9 |
chaque domaine pointe sur l'adresse IP dont vous disposez, et de
|
|
Packit |
90a5c9 |
configurer votre serveur Apache HTTP afin qu'il reconnaisse
|
|
Packit |
90a5c9 |
ces domaines. Il réduit aussi la pénurie en adresses IP. Par
|
|
Packit |
90a5c9 |
conséquent, vous devriez utiliser l'hébergement virtuel par
|
|
Packit |
90a5c9 |
nom, sauf dans le cas où vous utiliseriez des équipements qui
|
|
Packit |
90a5c9 |
nécessitent un hébergement basé sur IP. Les raisons historiques de
|
|
Packit |
90a5c9 |
l'hébergement basé sur IP dans un but de support de certains clients ne
|
|
Packit |
90a5c9 |
s'appliquent plus à un serveur web d'usage général.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La sélection du serveur virtuel en fonction du nom s'opère en
|
|
Packit |
90a5c9 |
dehors de l'algorithme de sélection du serveur virtuel en fonction
|
|
Packit |
90a5c9 |
de l'adresse IP, ce qui signifie que les recherches du point de vue
|
|
Packit |
90a5c9 |
du nom du serveur ne s'effectuent que parmi le jeu de serveurs
|
|
Packit |
90a5c9 |
virtuels pour lesquels la correspondance avec la paire adresse
|
|
Packit |
90a5c9 |
IP/port est la plus exacte.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
virtuel basé sur le nom approprié
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Il est important de savoir que la première étape de la résolution
|
|
Packit |
90a5c9 |
de serveur virtuel basée sur le nom est une résolution basée sur IP.
|
|
Packit |
90a5c9 |
La résolution de serveur virtuel basée sur le nom ne fait que
|
|
Packit |
90a5c9 |
choisir le serveur virtuel basé sur le nom le plus approprié, en se
|
|
Packit |
90a5c9 |
limitant aux candidats qui conviennent le mieux du point de vue IP.
|
|
Packit |
90a5c9 |
La résolution basée sur IP est sans objet si l'on
|
|
Packit |
90a5c9 |
utilise un caractère générique (*) pour l'adresse IP dans
|
|
Packit |
90a5c9 |
toutes les directives VirtualHost.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
A l'arrivée d'une requête, le serveur va rechercher l'argument de
|
|
Packit |
90a5c9 |
section <VirtualHost> présentant la meilleure
|
|
Packit |
90a5c9 |
(la plus exacte) correspondance avec la paire adresse IP/port
|
|
Packit |
90a5c9 |
utilisée dans la requête. Si plusieurs serveurs virtuels possèdent
|
|
Packit |
90a5c9 |
cette même paire adresse IP/port, Apache va ensuite comparer les
|
|
Packit |
90a5c9 |
valeurs des directives ServerName et ServerAlias avec le nom de serveur
|
|
Packit |
90a5c9 |
présent dans la requête.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Si vous ne définissez pas de directive ServerName pour un serveur virtuel à base
|
|
Packit |
90a5c9 |
de nom, le serveur utilisera par défaut le nom de domaine
|
|
Packit |
90a5c9 |
entièrement qualifié (FQDN) déduit du nom d'hôte système. Cette
|
|
Packit |
90a5c9 |
configuration sans nom de serveur explicite peut conduire à des
|
|
Packit |
90a5c9 |
erreurs de choix du serveur virtuel à utiliser et est déconseillée.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
par défaut pour une paire adresse IP/port
|
|
Packit |
90a5c9 |
Si aucune directive ServerName ou ServerAlias ne correspond dans
|
|
Packit |
90a5c9 |
la liste de serveurs virtuels présentant la meilleure correspondance
|
|
Packit |
90a5c9 |
du point de vue adresse IP/port, c'est le premier serveur
|
|
Packit |
90a5c9 |
virtuel de cette liste qui sera utilisé.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La première étape consiste à créer une section
|
|
Packit |
90a5c9 |
<VirtualHost>
|
|
Packit |
90a5c9 |
pour chacun des serveurs à définir. Dans chaque section
|
|
Packit |
90a5c9 |
<VirtualHost> ,
|
|
Packit |
90a5c9 |
vous devez définir au minimum une directive
|
|
Packit |
90a5c9 |
ServerName pour désigner
|
|
Packit |
90a5c9 |
le serveur concerné et une directive
|
|
Packit |
90a5c9 |
DocumentRoot pour préciser
|
|
Packit |
90a5c9 |
l'emplacement sur le système de fichiers du contenu de ce serveur.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Le serveur principal disparaît
|
|
Packit |
90a5c9 |
Toute requête qui ne correspond à aucune section <VirtualHost> existante
|
|
Packit |
90a5c9 |
est traitée avec la configuration du serveur principal, sans
|
|
Packit |
90a5c9 |
tenir compte du nom d'hôte ou de la directive ServerName.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Lorsque vous ajoutez un serveur virtuel basé sur le nom à un
|
|
Packit |
90a5c9 |
serveur existant, et si les caractéristiques de ce serveur
|
|
Packit |
90a5c9 |
virtuel correspondent à des combinaisons IP/port préexistantes,
|
|
Packit |
90a5c9 |
les requêtes seront alors traitées par un serveur virtuel
|
|
Packit |
90a5c9 |
explicite. Dans ce cas, il est en général judicieux de créer un
|
|
Packit |
90a5c9 |
serveur virtuel par défaut
|
|
Packit |
90a5c9 |
comportant une directive ServerName correspondant au nom du
|
|
Packit |
90a5c9 |
serveur principal. De nouveaux domaines sur les mêmes interface
|
|
Packit |
90a5c9 |
et port, mais nécessitant des configurations distinctes,
|
|
Packit |
90a5c9 |
pourront alors être ajoutés en tant que serveurs virtuels
|
|
Packit |
90a5c9 |
spécifiques (et non par défaut).
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Héritage du nom de serveur
|
|
Packit |
90a5c9 |
Il est toujours préférable de définir une directive ServerName au niveau de chaque serveur
|
|
Packit |
90a5c9 |
virtuel à base de nom. Si un serveur virtuel ne définit pas
|
|
Packit |
90a5c9 |
de directive ServerName , le
|
|
Packit |
90a5c9 |
nom de ce serveur virtuel sera hérité du serveur principal. Si
|
|
Packit |
90a5c9 |
aucun nom de serveur n'a été explicitement défini au niveau du
|
|
Packit |
90a5c9 |
serveur principal, le serveur tentera de déterminer son nom via
|
|
Packit |
90a5c9 |
une résolution de nom DNS inverse sur la première adresse
|
|
Packit |
90a5c9 |
d'écoute. Dans tous les cas, ce nom de serveur hérité influencera
|
|
Packit |
90a5c9 |
la sélection du serveur virtuel à base de nom, c'est pourquoi il
|
|
Packit |
90a5c9 |
est toujours préférable de définir une directive ServerName pour chaque serveur virtuel
|
|
Packit |
90a5c9 |
à base de nom.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Par exemple, supposez que vous hébergez le domaine
|
|
Packit |
90a5c9 |
www.example.com et que vous souhaitez ajouter le
|
|
Packit |
90a5c9 |
serveur virtuel other.example.com qui pointe sur
|
|
Packit |
90a5c9 |
la même adresse IP. Il vous suffit d'ajouter la configuration
|
|
Packit |
90a5c9 |
suivante à httpd.conf :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<VirtualHost *:80>
|
|
Packit |
90a5c9 |
# Le premier serveur virtuel de la liste est aussi le
|
|
Packit |
90a5c9 |
# serveur par défaut pour *:80
|
|
Packit |
90a5c9 |
ServerName www.example.com
|
|
Packit |
90a5c9 |
ServerAlias example.com
|
|
Packit |
90a5c9 |
DocumentRoot "/www/domain"
|
|
Packit |
90a5c9 |
</VirtualHost>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<VirtualHost *:80>
|
|
Packit |
90a5c9 |
ServerName other.example.com
|
|
Packit |
90a5c9 |
DocumentRoot "/www/otherdomain"
|
|
Packit |
90a5c9 |
</VirtualHost>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Autrement, vous pouvez spécifiez une adresse IP explicite
|
|
Packit |
90a5c9 |
à la place de * dans la directive
|
|
Packit |
90a5c9 |
<VirtualHost> .
|
|
Packit |
90a5c9 |
Par exemple, cette méthode est utile si vous souhaitez faire
|
|
Packit |
90a5c9 |
tourner quelques serveurs virtuels par nom sur une même adresse
|
|
Packit |
90a5c9 |
IP, et d'autres, soit par IP, soit basés sur un autre jeu de
|
|
Packit |
90a5c9 |
serveurs virtuels par nom sur une autre adresse IP.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Plusieurs serveurs sont accessibles par plus d'un nom. Il
|
|
Packit |
90a5c9 |
suffit de placer la directive
|
|
Packit |
90a5c9 |
ServerAlias dans une section
|
|
Packit |
90a5c9 |
<VirtualHost> .
|
|
Packit |
90a5c9 |
Par exemple, dans la première section
|
|
Packit |
90a5c9 |
<VirtualHost>
|
|
Packit |
90a5c9 |
ci-dessus, la directive ServerAlias
|
|
Packit |
90a5c9 |
indique aux utilisateurs les autres noms permis pour accéder au
|
|
Packit |
90a5c9 |
même site Web :
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
ServerAlias example.com *.example.com
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
ainsi, toutes les requêtes portant sur un domaine
|
|
Packit |
90a5c9 |
example.com seront servies par le serveur virtuel
|
|
Packit |
90a5c9 |
www.example.com . Les caractères joker *
|
|
Packit |
90a5c9 |
et ? peuvent être utilisés pour les correspondances.
|
|
Packit |
90a5c9 |
Bien entendu, vous ne pouvez pas inventer des noms et les placer
|
|
Packit |
90a5c9 |
dans une directive ServerName
|
|
Packit |
90a5c9 |
ou ServerAlias . Tout d'abord, votre serveur DNS
|
|
Packit |
90a5c9 |
doit être correctement configuré pour lier ces noms à une
|
|
Packit |
90a5c9 |
adresse IP associée avec votre serveur.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La recherche du serveur virtuel à base de nom qui correspond au
|
|
Packit |
90a5c9 |
plus près à la requête s'effectue parmi les <virtualhost> selon leur
|
|
Packit |
90a5c9 |
ordre d'apparition dans le fichier de configuration. Le premier
|
|
Packit |
90a5c9 |
serveur virtuel dont le ServerName ou le ServerAlias correspond est utilisé, sans
|
|
Packit |
90a5c9 |
priorité particulière en cas de présence de caractères génériques
|
|
Packit |
90a5c9 |
(que ce soit pour le ServerName ou le ServerAlias).
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
La liste complète des noms dans la section VirtualHost sont traités comme une
|
|
Packit |
90a5c9 |
directive ServerAlias sans
|
|
Packit |
90a5c9 |
caractères génériques.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Finalement, vous pouvez affiner la configuration des serveurs
|
|
Packit |
90a5c9 |
virtuels en plaçant d'autres directives à l'intérieur des sections
|
|
Packit |
90a5c9 |
<VirtualHost> .
|
|
Packit |
90a5c9 |
La plupart des directives peut être placée dans ces sections en
|
|
Packit |
90a5c9 |
y changeant seulement la configuration du serveur virtuel associé.
|
|
Packit |
90a5c9 |
Pour déterminer si une directive particulière est permise,
|
|
Packit |
90a5c9 |
consultez le contexte de la
|
|
Packit |
90a5c9 |
directive. Le jeu de directives configurées dans le contexte
|
|
Packit |
90a5c9 |
du serveur principal (en dehors de toutes sections
|
|
Packit |
90a5c9 |
<VirtualHost> )
|
|
Packit |
90a5c9 |
sera utilisé seulement s'il n'y a pas de configuration contraire
|
|
Packit |
90a5c9 |
par un serveur virtuel.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Langues Disponibles: de |
|
|
Packit |
90a5c9 |
en |
|
|
Packit |
90a5c9 |
fr |
|
|
Packit |
90a5c9 |
ja |
|
|
Packit |
90a5c9 |
ko |
|
|
Packit |
90a5c9 |
tr
|
|
Packit |
90a5c9 |
Notice:This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
|
|
Packit |
90a5c9 |
<script type="text/javascript">
|
|
Packit |
90a5c9 |
var comments_shortname = 'httpd';
|
|
Packit |
90a5c9 |
var comments_identifier = 'http://httpd.apache.org/docs/2.4/vhosts/name-based.html';
|
|
Packit |
90a5c9 |
(function(w, d) {
|
|
Packit |
90a5c9 |
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
var s = d.createElement('script');
|
|
Packit |
90a5c9 |
s.type = 'text/javascript';
|
|
Packit |
90a5c9 |
s.async = true;
|
|
Packit |
90a5c9 |
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
|
|
Packit |
90a5c9 |
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
})(window, document);
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
Copyright 2018 The Apache Software Foundation. Autorisé sous Apache License, Version 2.0.
|
|
Packit |
90a5c9 |
Modules | Directives | FAQ | Glossaire | Plan du site <script type="text/javascript">
|
|
Packit |
90a5c9 |
if (typeof(prettyPrint) !== 'undefined') {
|
|
Packit |
90a5c9 |
prettyPrint();
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
</body></html>
|