Configurer mod_jk pour rediriger un sous-domaine vers JBoss
J'ai une instance de JBoss installée sur mon serveur Ubuntu 6.06, et sécurisé tout comme il faut.
J'y ai déployé une application qui s'appelle toodoo et à laquelle j'accède sans problème grâce à l'adresse suivante: http://epseelon.org:8080/toodoo (le serveur est arrêté quand je ne teste pas)
Maintenant je voudrais pouvoir accéder à mon application en utilisant plutôt l'URL suivante: http://toodoo.epseelon.org
En cherchant, un peu, j'ai cru comprendre que la première étape pour que ça fonctionne, c'était d'installer et de configurer le module mod_jk sur mon serveur Apache. J'ai suivi ce tutoriel et j'ai un peu de mal à l'adapter à la fois à la configuration particulière d'Apache sur Ubuntu et à ce que je veux faire.
Voici ce que j'ai pour l'instant (et qui bien sûr, ne fonctionne pas du tout).
/etc/apache2/mods-available/jk.load
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile /etc/apache2/mods-available/workers.properties
# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile /etc/apache2/mods-available/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile /var/log/apache2/jk.shm
# Add jkstatus for managing runtime data
<Location /jkstatus/>
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location> |
/etc/apache2/mods-available/workers.properties
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
# Define list of workers that will be used
# for mapping requests
# The configuration directives are valid
# for the mod_jk version 1.2.18 and later
#
worker.list=loadbalancer,status
# Define Toodoo
# modify the host as your host IP or DNS name.
worker.toodoo.port=8009
worker.toodoo.host=localhost
worker.toodoo.type=ajp13
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=toodoo
# Status worker for managing load balancer
worker.status.type=status |
/etc/apache2/mods-available/uriworkermap.properties
Code:
1 2 3 4 5 6 7 8 9 10 11
|
# Simple worker configuration file
#
# Mount the Servlet context to the ajp13 worker
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
/toodoo=loadbalancer
/toodoo/*=loadbalancer |
Et enfin, /etc/apache2/sites-available/toodoo (avec le lien symbolique qui va bien dans /etc/apache2/sites-enabled/toodoo):
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<VirtualHost *:80>
ServerAdmin sebastien.arbogast@gmail.com
ServerName toodoo.epseelon.org
# Send servlet for context /servlets-examples to worker named worker1
JkMount /* loadbalancer
# Send JSPs for context /jsp-examples to worker named worker1
JkMount /*.jsp loadbalancer
</VirtualHost> |
Et là, je redémarre mon Apache, je démarre mon JBoss et là... ça marche presque !!! Il ne me manque plus qu'une chose: comment je peux spécifier que la redirection doit se faire sur le path /toodoo et non pas sur la racine? Parce que là pour l'instant http://toodoo.epseelon.org me mène droit sur la racine de JBoss avec les liens vers les consoles et tout ça.
Je précise au passage que j'ai plusieurs applications déployées sur JBoss et susceptibles d'être accessibles sur le même modèle donc je ne veux pas feinter en mettant toodoo comme application par défaut.