[英]How to configure Apache to redirect subdomains to Tomcat applications
[英]How to configure apache to serve multiple tomcat apps as subdomains
我正在尝试完成以下行为:
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
可以正常工作。
显然我在做错事,但我无法弄清楚是什么。 任何帮助/建议将不胜感激。
我在带有mod_jk连接器的tomcat前面使用apache进行URL重写。
子域配置:
* IN CNAME mydomain.com.
www.* IN CNAME mydomain.com.
/ var / www中的.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默认配置:
<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>
worker.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
一种选择是在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”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.