我正在尝试完成以下行为:
user1.mydomain.com -> redirected to /var/lib/tomcat6/webapps/user1/
user2.mydomain.com -> redirected to /var/lib/tomcat6/webapps/user2/
当我向Tomcat的webapps文件夹中添加新的应用程序时,我希望它们能够使用相同的子域模式自动提供。
通过以下配置,现在,当访问user2.mydomain.com:8010
时,我得到了'它的工作原理!'来自apache的页面。但访问user2.mydomain.com:8010/user2
的工作正常。
我在tomcat前面使用apache和mod_jk连接器进行url重写。
子域配置:
* IN CNAME mydomain.com.
www.* IN CNAME mydomain.com.
中的.htaccess
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?user1.mydomain.com
RewriteCond %{REQUEST_URI} !user1/
RewriteRule ^(.*)$ user1/$1 [L]
/ etc / apache2 / sites-enabled中的000-default配置:
<VirtualHost *:8010>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
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
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
JkMount /* worker1
</VirtualHost>
workers.properties:
#Define 1 real worker using ajp13
worker.list=worker1
#Set properties for worker (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
答案 0 :(得分:0)
另一种方法是在tomcat中进行虚拟主机映射,并将应用程序作为“ROOT”应用程序放在不同的主机下。
例如在server.xml中定义以下内容:
<Host name="user1.mydomain.com" appBase="user1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false" />
<Host name="user2.mydomain.com" appBase="user2"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false" />
然后创建2个文件夹:
.../tomcat/user1/
.../tomcat/user2/
并将您的应用程序部署为“ROOT”。