这个不复杂,Apache本身就支持的,给你一个片段参考配置:<VirtualHost *:80>
ServerAdmin [email protected]
ServerName abc.domain.com
ServerAlias www.abc.domain.com
DocumentRoot /opt/software/apache2/redirect/abc
ErrorLog logs/abc-error_log
CustomLog logs/abc-access_log common RewriteEngine On
RewriteOptions inherit ProxyPass / http://localhost:8080/abc/
ProxyPassReverse / http://localhost:8080/abc/
</VirtualHost>
ServerAdmin [email protected]
ServerName abc.domain.com
ServerAlias www.abc.domain.com
DocumentRoot /opt/software/apache2/redirect/abc
ErrorLog logs/abc-error_log
CustomLog logs/abc-access_log common RewriteEngine On
RewriteOptions inherit ProxyPass / http://localhost:8080/abc/
ProxyPassReverse / http://localhost:8080/abc/
</VirtualHost>
Apache虚拟主机指南:
http://wiki.ubuntu.org.cn/Apache%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E6%8C%87%E5%8D%97
动态增加TOMCAT的虚拟目录呢?是否可以解析一下你的配置@brightyq
谢谢你提供的资料,我现在是想解决tomcat下动态增加虚拟目录的问题,应该如何使用?
然后重启apache呢?如何可以我在tomcat动态建一个名叫abc1的context,apache就可以把abc1.domain.com自动识别转向访问这个abc1的context。
code=XML]<Proxy balancer://MyWebApp>
BalancerMember ajp://server:8009/MyWebApp
</Proxy>
<Proxy balancer://MyWebApp>
BalancerMember ajp://server:8019/MyWebApp
</Proxy>[/code]
刚刚看了一下这个帖子,应该会对楼主有所帮助,别人遇到和你类似的问题
我一直纠结在于如何在二级域名动态解析后,指向Tomcat的Context。
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="F:/xx/xx" path="" reloadable="true" />
</Host> <Host name="bb.xx.com" appBase=""
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="F:/aa/aa" path="" reloadable="true" />
</Host>
然后再C:\Windows\System32\drivers\etc 下的hosts文件中 做映射
如: 127.0.0.1 www.aa.com 我是映射到本机
这样不就可以做测试了
当配置到apache可以动态二级域名时,又不能让tomcat解析jsp。
当配置到可以解析jsp,又不能把二级域名转为tomcat的上下文。偶的神呀,你快来打救我吧!
大致看了下还是靠谱的。 主要用urlrewriter来实现二级域名到具体tomcat访问路径的转换。
要的是动态二级域名,如果在server.xml改,又是重启tomcat,达到不效果。@nickycheng
其实我也是按照差不多的文章配置过。
可以实现:
www.domain.com/访问ROOT上下文
www.domain.com/abc访问abc上下文
但http://abc.domain.com死活指向www.domain.com,看过rewrite的日志。
解析到文件路径是正确的,但不知apache做rewrite后交给tomcat时,为什么又转到了ROOT应用。ProxyPass方式本来是最直观的,但却不能处理二级域名,为什么不这么弱智呢?
难道我还有一些参数没看到!!!?
<VirtualHost *:80>
ServerName abc.domain.com
ServerAlias www.abc.domain.com<VirtualHost *:80>
ServerName xyz.domain.com
ServerAlias www.xyz.domain.com
这里面再用:ProxyPass 做反向代理,我这里20几个虚拟站点都是这么搭建的,实在不知道你是啥问题。
如何做动态二级域名,并指向Tomcat的虚拟目录?
是不是我手工在apache加一个VirtualHost,tomcat加一个虚拟目录,然后重新一下apache,需要的话又重启一下tomcat?能否不重启,生产环境重启会有问题的。