JBoss 7 racine Multiple contexte des applications web
J'ai besoin de configurer deux sites: www.foo.com et www.bar.net sur mon Apache2+ JBoss7.1 l'environnement.
Apache sites exemple de configuration (ils sont semblables les uns aux autres, sauf pour le nom du site) :
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.foo.com
DocumentRoot /var/www/foo
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/foo>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin//usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
SetEnvIf Request_URI "/photos/*" no-jk
JkMount /ajp13
JkMount /* ajp13
</VirtualHost>
Dans JBoss standalone.xml j'ai:
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
<virtual-server name="default-host" enable-welcome-root="false" default-web-module="bar">
<alias name="localhost"/>
<alias name="www.bar.net"/>
</virtual-server>
<virtual-server name="foo" enable-welcome-root="false" default-web-module="foo">
<alias name="www.foo.com"/>
</virtual-server>
</subsystem>
Tandis que les deux applications ont jboss-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<security-domain>java:/jaas/foo</security-domain>
<context-root>/</context-root>
</jboss-web>
Déploiement de foo.la guerre des résultats dans:
INSTALLATION: Échec de la phase du processus d'INSTALLATION de déploiement "foo.de la guerre"
Causés par: org.jboss.msc.service.DuplicateServiceException: Service
jboss.web.le déploiement.par défaut de l'hôte./.domaine est déjà enregistré
Quelle est la bonne configuration? Où est l'erreur?
OriginalL'auteur Fabio B. | 2013-02-04
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème, c'est que vous avez défini de la même racine de contexte pour les deux applications. Vous ne pouvez pas avoir deux applications avec le même contexte de la racine à la sametime. Une solution possible serait de définir un contexte différent pour chaque application (/foo et bar, respectivement), et l'utilisation de la directive ProxyPass dans chaque virtualhost Apache.
Cette façon, vous pouvez accéder à vos applications directement via les adresses: http://www.bar.com et http://www.foo.com, respectivement. (Notez que si vous avez un Apache agissant comme un proxy, et en utilisant ses propres hôtes virtuels, il n'est pas nécessaire de définir JBoss virtualhost).
Un simple, mais complète serait par exemple (dans ce cas, j'ai configuré le jboss jmx-console, en cours d'exécution dans la même machine que le serveur apache, pour être accessible à partir de http://www.foo.com):
Avis que vous avez besoin pour ajouter une barre oblique inverse à la fin de l'adresse.
Je suis désolé mais cela ne fonctionne pas, j'ai ajouté les deux directives ProxyPass au-dessus de apache configuration d'un hôte virtuel. Quand j'ai accès http://www.bar.com il ajoute deux barres obliques "//" de l'url et safari affirme que c'est impossible d'accéder au serveur.
Avez-vous supprimé les JKMount directive? si vous utilisez la directive proxyPass vous ne devriez pas en avoir besoin. D'autre part, si vous n'avez pas besoin du <Directory> les directives, les supprimer ou de les commenter. Ils peuvent interférer avec la directive ProxyPass. J'ai ajouté une simple complet de l'exemple de configuration.
Je viens de m'apercevoir que j'ai oublié d'ajouter une barre oblique inverse à la fin de l'adresse. Donc, une partie de la suppression des directives que vous n'utilisez pas, assurez-vous d'ajouter la barre oblique inverse (j'ai corrigé l'exemple).
au moins maintenant, je peux voir le formulaire de connexion, mais les ressources statiques ne peut être trouvé et mon formulaire ne fonctionne pas <link type="text/css" href="/myapp/javax.faces.resource/css/login.css.htm;jsessionid=yLqJkKu1h7vG6xAenJn7TvTp.undefined"> Comment puis-je vous envoyer un pvt message s'il vous plaît?
OriginalL'auteur Toni
C'était juste assez pour ajouter un truc pour ma configuration, maintenant bon travail avec mod_jk. J'ai blogué à ce sujet: http://fabiobozzo.wordpress.com/2013/02/25/multiple-web-applications-with-jboss-and-apache/
OriginalL'auteur Fabio B.
en fait la façon dont il avait, il est très bien. pas besoin pour utiliser le proxy si il ne veut pas. La pièce manquante à l'origine de la config est qu'il n'a jamais mentionné que les alias dans le jboss-web.xml.
et la seconde application
et se débarrasser de ce défaut-web-module tag. vous êtes à la création d'un paradoxe avec ce désordre. vous pouvez soit aller à l'un ou l'autre.. pas les deux. c'est pour quand vous n'avez pas l'alias mappé.
OriginalL'auteur natedennis