Normalerweise läuft das Webinterface von JBoss auf Port 8080. Oftmals sitzt man aber hinter einer Firewall die alle Ports außer Port 80 blockiert. Da Port 80 aber meist von einem Apache belegt ist, können wir im JBoss nicht einfach Port 80 als neuen Port für das Webinterface einstellen. Wir müssen Port 8080 auf Port 80 tunneln. Die Lösung dafür lautet mod_proxy.
Es bedarf nur vier Schritte um, euren JBoss unter einer Subdomain erreichbar zu machen.
1. Schritt : Installiere Apache2 und JBoss
2. Schritt : Lade benötigte Apachemodule
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod vhost_alias
3. Schritt : Erstelle Datei /etc/apache2/sites-available/jboss und Schreibe in die Datei folgenden Inhalt:
# Hier eure Server IP
ServerName jboss.pascalkrause.info # Hier eure Subdomain
ProxyRequests Off
Order deny,allow
Allow from all
ProxyPreserveHost on
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
4. Schritt : Aktiviere den vHost und starte Apache neu
sudo a2ensite jboss
Wenn ihr Plesk benutzt,
müsst ihr keine Datei anlegen und den vHost aktivieren. Ladet die Module und legt eine Subdomain an. In meinem Fall war dies jboss.pascalkrause.info. Plesk legt automatisch eine Konfigurationsdatei an, welche ihr unter
/var/www/vhosts/{eure Subdomain}/conf/xxxx.include
findet. In diese fügt ihr den Inhalt von Schritt 3 ein. Nun muss nur noch Apache neugestartet werden.
Probleme mit der JBoss-Admin-Console
Leider Funktioniert dies nicht mit der Admin-Console, es scheint ein Bug im aktuellen JBoss AS 7.1.1 zu sein. Ich hoffe bei der nächsten JBoss-AS Version wird dieses Problem gefixxt sein.