Exécution du serveur Tomcat sur deux ports différents

Je souhaite déployer un serveur Tomcat de manière à ce qu’il écoute simultanément deux ports (tous deux pour le protocole HTTP).

Juste pour vous assurer que vous comprenez bien cette exigence, nous ne disposons que d’une seule instance de serveur mais souhaitons écouter sur deux ports pour le protocole HTTP. Par exemple, n’importe qui peut accéder aux applications déployées sur mon serveur en utilisant les numéros de port 7080 et 8080

Est-il possible de faire ça? Si possible, comment pouvons-nous y parvenir?

C’est très simple. Vous n’avez qu’à regarder le fichier de configuration conf/server.xml pour append un nouveau connecteur pour le port souhaité. Par exemple, si vous avez un connecteur comme celui-ci:

  

Ajoutez simplement un nouveau connecteur identique à celui ci-dessus dans le fichier de configuration, mais en modifiant le paramètre du port. C’est tout. Redémarrez et vous avez terminé.

Oui c’est possible. Editez simplement server.xml (situé dans le dossier nommé conf) comme ceci:

   

Cela va configurer Tomcat pour écouter les deux ports 8080 et 8081 .

La documentation indique:

  • port: Le numéro de port TCP sur lequel ce connecteur créera un socket serveur et attendra les connexions entrantes. Votre système d’exploitation permettra à une seule application de serveur d’écouter un numéro de port particulier sur une adresse IP particulière. Si la valeur spéciale de 0 (zéro) est utilisée, Tomcat sélectionnera alors un port libre au hasard à utiliser pour ce connecteur. Cela est généralement utile uniquement dans les applications intégrées et de test.

  • redirectPort: Si ce connecteur prend en charge les requêtes non-SSL et qu’une requête est reçue pour laquelle un nécessite un transport SSL, Catalina redirige automatiquement la demande vers le numéro de port spécifié ici.

Ainsi, modifier le redirectPort est facultatif, en fonction de la manière dont vous souhaitez que cette redirection fonctionne.

Vous pouvez définir 2 services différents dans /conf/server.xml.

L’exemple est comme ci-dessous,

                         

Remarque : Vous avez peut-être dû augmenter la taille du tas de tomcat.

vous pouvez spécifier le code suivant dans votre server.xml

         

S’il vous plaît, assurez-vous que vous utilisez Tomcat, car si vous voulez l’utiliser sur n’importe quel port privilégié, vous devez l’utiliser sous l’utilisateur root.

Vous pouvez également redirect les ports 80 à 8080 avec iptables. Quelque chose comme ça:

 iptables -t nat -A PREROUTING -d 192.168.10.16 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 

J’espère que cela aide

exécuter tomcat dans différents ports. Nous devons changer quatre choses à l’intérieur du numéro de service du fichier server.xml

  1. nous devons changer le port no. comme 8080 à 80
  2. nous devons changer redirectPort no 8443 to 8444
  3. nous devons changer le nom du moteur comme Catalina en Catalina_2
  4. nous devons changer le nom appBase comme webapps en webapps_1