私のJBoss 7.1(standalone.xml)は次のように構成されています:
<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="mydefaultapp">
<alias name="localhost"/>
<alias name="www.mydefaultapp.it"/>
</virtual-server>
<virtual-server name="secondApp" enable-welcome-root="false" default-web-module="secondApp">
<alias name="www.secondapp.com"/>
</virtual-server>
</subsystem>
「mydefaultapp」は jboss-web.xml ファイルで「/」を context-root として定義し、mod_jk で完全に実行されます。
<VirtualHost *:80>
ServerName www.mydefaultapp.it
DocumentRoot /var/www/mydefaultapp
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mydefaultapp>
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 "/foto/*" no-jk
JkMount / ajp13
JkMount /* ajp13
</VirtualHost>
これで、context-root を定義しない「secondapp」戦争が発生したため、「/secondapp」が想定されます。'/' context-root でデプロイしようとすると、次のエラーが発生します。
INSTALL: デプロイメント「foo.war」のフェーズ INSTALL の処理に失敗しました原因: org.jboss.msc.service.DuplicateServiceException: サービス jboss.web.deployment.default-host./.realm は既に登録されています
「/secondapp」context-root でデプロイすると、何も機能しません。単純に www.secondapp.com が 404 not found エラーで終わります。
考えられる解決策は、次の構成で http プロキシを使用することです。
<VirtualHost *:80>
ServerName www.secondapp.com
ProxyPass / http://localhost:8080/secondapp/
ProxyPassReverse / http://localhost:8080/secondapp/
</VirtualHost>
これは機能しているようですが... jsfリソースにアクセスできません(ログインフォームを取得し続けます。セキュリティに問題があります)
JBoss 7.1 + Apache2 + mod_jk で 2 つのドメイン、2 つの戦争を行うための適切な構成を教えてください。最初のものには「/」context-rootがあり、2番目のものには「/secondapp」があることに注意してください