Configuration
Concepts
Voici quelques concepts de base a connaitre avant d'entrer dans le detail de la configuration.
Virtual hosts
LiteSpeed Web Server peut heberger plusieurs sites web (virtual hosts) avec une seule instance serveur.
Traditionnellement, les virtual hosts sont classes en deux types: les virtual hosts bases sur IP et les virtual hosts bases sur le nom. Les virtual hosts bases sur IP sont des sites web qui possedent leurs propres adresses IP uniques. Les virtual hosts bases sur le nom sont des sites web distingues par leur nom de domaine et peuvent donc partager une adresse IP avec d'autres sites. Il n'y a pas de distinction claire entre ces deux categories dans LiteSpeed Web Server. Les virtual hosts bases sur IP sont consideres comme un type particulier de virtual host base sur le nom. Les deux peuvent etre configures facilement, voire melanges ensemble.
Contrairement a d'autres serveurs web, LiteSpeed Web Server n'a pas de site web par defaut. Chaque site web est configure comme un virtual host, meme si un seul site web est heberge.
Listeners
Dans LiteSpeed Web Server, un listener est un socket serveur qui ecoute sur une adresse IP et un port TCP specifiques. Si vous imaginez le serveur web comme un batiment, les listeners sont les portes (chacune avec sa propre adresse IP et son propre port). Les clients (navigateurs) doivent passer par une porte (un listener) pour soumettre leurs requetes.
Pour chaque listener, une adresse IP et un numero de port doivent etre specifies. L'adresse IP peut etre toute adresse IP locale valide, ou vous pouvez definir une IP generique (*) qui fait reference a toutes les adresses IP disponibles sur cette machine. Un port est un entier entre 0 et 65535. Le port par defaut pour HTTP est 80 et celui pour HTTPS est 443. D'autres ports peuvent etre utilises; toutefois, sur les machines UNIX, seul le superutilisateur "root" a l'autorisation d'utiliser les ports inferieurs a 1024.
Un seul listener est autorise pour chaque combinaison IP et port. Ainsi, si un listener est configure sur un port avec l'adresse IP generique, vous ne pouvez pas configurer un autre listener sur le meme port, meme si vous specifiez une IP particuliere. Par exemple, si plusieurs adresses IP existent sur la machine du serveur web et que le trafic HTTP doit etre autorise sur le port 8080 pour toutes les adresses IP, cela peut etre configure de deux facons: definir un listener avec l'IP generique (*) et le port 8080, ou definir plusieurs listeners, un pour chaque IP, tous ecoutant sur le port 8080. Ces deux methodes ne peuvent pas etre melangees sur un meme port.
Il existe deux types de listeners dans LiteSpeed Web Server: simple et securise (SSL). Chaque listener securise necessite une paire cle privee SSL et certificat SSL. La cle privee peut etre generee avec un outil SSL comme OpenSSL. Le certificat SSL peut etre autosigne ou obtenu aupres d'une autorite de certification SSL comme VeriSign ou Thawte. Vous pouvez partager la meme paire cle privee et certificat entre plusieurs listeners.
Mappage d'un listener vers un virtual host
Le mappage de listener vers virtual host de LiteSpeed offre une flexibilite supplementaire en vous permettant de:
- mapper un listener vers un virtual host.
- mapper un listener vers differents virtual hosts pour differents noms de domaine.
- mapper plusieurs listeners vers le meme virtual host.
- mapper plusieurs listeners vers plusieurs virtual hosts selon leurs noms de domaine.
Dans le mappage de listener vers virtual host, chaque listener possede une table de recherche de virtual hosts avec des paires cle-valeur qui specifient un nom de domaine (cle) pour un virtual host particulier (valeur).
Lorsqu'un navigateur tente de recuperer une page web depuis un serveur web, il utilise d'abord une recherche DNS pour trouver l'adresse IP associee a ce nom de domaine. Il envoie ensuite une requete pour etablir une connexion TCP avec le serveur web sur une IP et un port specifiques. Si un listener est assigne a cette IP et a ce port, une connexion est etablie. Le navigateur envoie ensuite une requete HTTP, qui inclut, dans l'en-tete, le nom de domaine du site web consulte. Le serveur web verifie la table de recherche associee a ce listener pour le nom de domaine dans la requete. Si une correspondance est trouvee, la requete est routee vers le virtual host pour traitement.
Pour rendre un virtual host accessible via un listener specifique, vous devez vous assurer que:
- DNS est correctement configure pour mapper le nom de domaine du site web vers l' IP utilisee par ce listener. La configuration de DNS depasse le cadre de ce document.
- Un mappage vers le virtual host pour ce nom de domaine existe dans la table de recherche du listener.
Un virtual host catchall peut etre specifie pour un listener avec le nom de domaine generique "*". Lorsque le serveur ne trouve pas de virtual host correspondant, la requete est routee vers le virtual host catchall. Si aucun virtual host catchall n'est configure, le serveur web renverra le code d'erreur 404.