La balise Connector permet de configurer un connecteur pour Tomcat. Un connecteur est le composant "frontière" du serveur d'applications, puisqu'il reçoit les requêtes provenant du client, qui seront ensuite traitées (voir notre première application web). C'est également par le connecteur que la réponse passera, une fois le traitement terminé.
Il existe plusieurs types de connecteurs, selon le "client" dont la requête provient. Pour l'instant, seul le connecteur capable de recevoir des requêtes HTTP directement du client web est évoqué dans ce site. Il est utilisé pour un fonctionnement de Tomcat en mode StandAlone (autonome), où Tomcat sert à la fois de serveur web et de serveur d'applications. Mais il existe d'autres connecteurs, notamment pour dialoguer avec un serveur web classique, qui n'enverra à Tomcat que les requêtes qu'il doit traiter.
Service. Chaque service peut recevoir des requêtes de plusieurs connecteurs.
Eventuellement une balise Factory, dans le cadre de la gestion du protocole SSL. Ce site ne contient pour l'instant pas d'informations à ce sujet.
Nom |
Description |
className |
Permet de spécifier la classe (chemin complet, packages puis nom de la classe) à utiliser comme implémentation de l'interface org.apache.catalina.Connector. Cet attribut doit être spécifié, car c'est le moyen de définir le type de connecteur à utiliser. |
Nom |
Description |
enableLookups |
Lorsque l'on développe une application web, on peut appeler sur l'objet représentant la requête la méthode request.getRemoteHost(). Si ce paramètre est à false, cette méthode renverra l'adresse IP du client. Si ce paramètre est à true, comme c'est le cas par défaut, la méthode effectuera une recherche DNS pour renvoyer le nom DNS du client. On préférera généralement positionner cet attribut à false (sauf besoin indispensable), car il a un impact, parfois très néfaste, sur les performances. |
redirectPort |
Si ce connecteur traite les requêtes non-SSL, et qu'une requête devant être transportée en SSL arrive, elle sera redirigée vers le port défini dans ce paramètre. Le connecteur associé à ce port devra donc accepter les requêtes SSL. |
scheme |
Le "nom" du schema d'adresse (ex: "https") pour ce connecteur. Dans une application web, on pourra le récupérer via la méthode request.getScheme(). La valeur par défaut est "http". |
secure |
Ce paramètre indique si les requêtes arrivant sur ce connecteur doivent être cataloguées comme sécurisées. Cela signifie qu'un appel de la méthode request.isSecure() renverra true. Attention toutefois. Ce n'est pas cet attribut qui permet de définir un connecteur pour requêtes sécurisées ! Par contre, on positionnera cet attribut à true dans le cas d'un connecteur pour requêtes sécurisées... |
Implémentation par défaut |
Il n'existe pas réellement d'implémentation par défaut pour les connecteurs. Plusieurs implémentations existent, parmi lesquelles on choisir le connecteur adapté à notre besoin. Voir les explications en début de page, et le chapitre consacré au connecteur Coyote HTTP/1.1 et
|