`

Apache 2.2 + Tomcat 泛域名解析 动态二级域名

阅读更多

1.你要让你域名注册的地方开通“泛解析”,就是说*.xxx.com全部解析到一个IP,然后利用程序获得输入的域名,并作相应的处理。 

2.在DNS中设好*.xxx.com到IP地址 

3.取出你的二级域名前缀做为参数,根据这个参数就可以知道当是那个二级域名在访问了。 

泛域名解析不是由Apache来完成的,是用DNS完成的 
在Apache中使用泛域名,只要建立相应的虚拟主机就Ok了 

apache+tomcat具体实现方式 

1 安装 tomcat/apache 
2 下载 jk.so, 具体版本请根据需要,不再多说 
3 关键是配置 
httpd.conf 
查看复制到剪切板打印 

# 去掉这个前面的#,启用它 
LoadModule rewrite_module modules/mod_rewrite.so 

# 启用jk,同时配置参数 
LoadModule jk_module modules/mod_jk.so 
JkWorkersFile D:/Apache2.2/conf/workers.properties 
JkLogFile d:/Apache2.2/logs/mod_jk.log 
JkLogLevel info 
#JkLogLevel debug 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
JkRequestLogFormat "%w %V %T" 
JkMount /servlet/* myloadbalancer 
JkMount /*.jsp myloadbalancer 

# 虚拟主机,这里模拟了 a.test.com 和 b.test.com 以及 a.tst.com/blog的调用 

<VirtualHost _default_:80> 
ServerAdmin yourmail@domain.com 
DocumentRoot D:\Apache2.2\htdocs 
ServerName all-sites 
ErrorLog logs/all-sites-error.log 
CustomLog logs/all-sites-access.log common 
RewriteEngine On 
# 下面三行实现动态解析 
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.test\.com$ 
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1 
RewriteRule ^/([a-z0-9\-]+)\.test\.com/?$ /index.jsp?u=$1 [L,PT] 
RewriteRule ^/([a-z0-9\-]+)\.test\.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT] 

<Directory "D:\Apache2.2\htdocs"> 
Options FollowSymLinks 
AllowOverride None 
Order allow,deny 
Allow from all 
</Directory> 

</VirtualHost> 


workers.properties 
查看复制到剪切板打印 
worker.list=myloadbalancer 

worker.tomcat1.type=ajp13 
worker.tomcat1.host=localhost 
worker.tomcat1.port=8009 
worker.tomcat1.lbfactor=1 


worker.myloadbalancer.type=lb 
worker.myloadbalancer.balance_workers=tomcat1 
worker.status.type=status 

worker.list=myloadbalancer 

worker.tomcat1.type=ajp13 
worker.tomcat1.host=localhost 
worker.tomcat1.port=8009 
worker.tomcat1.lbfactor=1 


worker.myloadbalancer.type=lb 
worker.myloadbalancer.balance_workers=tomcat1 
worker.status.type=status 
server.xml 
去掉前后的<!-- 和 -->启用 8009端口查看复制到剪切板打印 
<Connector port="8009" 
.. 

<Connector port="8009" 
... 

说明一下 
在httpd.conf里面启用了rewrite_module,和 mod_jk, 并配置了 与tomcat的连接配置。 
虚拟主机的配置是关键 
ServerName all-sites 
可以修改为 
ServerName test.com 
ServerAlias *.test.com 
这样可以明确指定这个虚拟主机负责的域名 
urlRewrite 配置部分 

RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.test\.com$ 
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1 

RewriteRule ^/([a-z0-9\-]+)\.test\.com/?$ /index.jsp?u=$1 [L,PT] 
RewriteRule ^/([a-z0-9\-]+)\.test\.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT] 
第一行,声明这个重写只对主机名(%{HTTP_HOST}) 类似 XXXX.test.com 感兴趣,那个是正则的 
第二行,将所有的对此域名的请求进行第一次改写,比如 
a.test.com 改成 
/a.test.com 
把 
b.test.com/blog 改成 
/b.test/com/blog 
第三行,对无参数的访问进行调整 
将 /a.test.com 改成 
/index.jsp?u=a 
第四行,对有参数路径的进行调整 
将 /b.test.com/blog 改成 
/blog.jsp?u=b 
如果还有参数比如 
b.test.com/blog/id=3 则最终改写为 
/b.test.com/blog/id=3 
/blog.jsp?u=b&id=3 
剩下的就不多说了!

分享到:
评论

相关推荐

    apache2.2+tomcat7

    apache2.2+tomcat7

    Apache2.2+Tomcat5.5整合配置教程

    Apache2.2与Tomcat5.5的整合配置是一个常见的任务,特别是在那些希望利用Apache作为前端服务器处理静态内容,而将动态请求转发给Tomcat处理的环境中。这种配置可以提高服务器性能并优化资源分配。 首先,我们需要...

    Apache2.2+Tomcat6 配置

    在IT行业中,集成Apache2.2与Tomcat6是一个常见的任务,这主要涉及到Web服务器与应用服务器的联合部署,以实现动态和静态内容的高效分发。Apache2.2是一个强大的HTTP服务器,常用于处理静态内容,而Tomcat6则是一个...

    Apache2.2+Tomcat集群

    Apache2.2+Tomcat集群 只是一个简单的集群例子,所用到的Apache,Tomcat压缩文件里都有

    Apache2.2+tomcat7+jk+jdk1.6

    本配置"Apache2.2+tomcat7+jk+jdk1.6"旨在实现一个稳定且可靠的环境,特别关注于session的共享与管理,以解决多服务器间的session一致性问题。 Apache2.2是Apache HTTP Server的第2.2版本,提供了强大的静态内容...

    Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合

    ### Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...

    apache2.2 + tomcat6 配置方式

    配置Apache2.2与Tomcat6的目的是利用Apache处理静态内容的高效性能,同时让Tomcat处理动态Java应用,以达到最佳性能。 4. **配置步骤**: - **安装Apache2.2**:首先,确保Apache服务器已经在系统上正确安装,...

    Windows下Apache2.2 + Tomcat5.5 + Apr配置备忘录

    本备忘录主要关注如何在Windows上配置Apache2.2与Tomcat5.5,同时利用Apr(Apache Portable Runtime)库提升性能。 Apache2.2是世界上最流行的开源HTTP服务器,它处理静态文件非常高效。而Tomcat5.5则是一个开源的...

    apache2.2+tomcat6集群配置

    Apache2.2与Tomcat6集群配置是一种常见的Web服务架构,用于提高网站的可用性和可扩展性。在Windows环境下,这种配置可以实现负载均衡,确保即使单个服务器出现故障,整个系统仍然能继续运行,同时分散请求以降低单一...

    Apache2.2+tomcat6.0搭建负载均衡服务器

    Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...

    apache2.2+tomcat6.0.doc

    Apache2.2与Tomcat6.0的组合可以创建一个高效能、高可用性的Web服务器环境,通过负载均衡技术,可以有效地分散用户请求到多个Tomcat实例,从而提高系统的响应速度和整体性能。以下是关于这个配置的详细知识讲解: 1...

    两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡

    "两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡"是一个典型的分布式系统架构,旨在通过在多台服务器之间分配工作负载来提高系统的稳定性和性能。下面将详细介绍这个配置涉及的知识点: 1. **Apache ...

    apache+tomcat域名泛解析

    ### Apache + Tomcat 域名泛解析详解 在现代Web服务器配置中,Apache与Tomcat结合使用是一种常见的做法,特别是在需要处理静态资源与动态内容分离的场景下。本文将详细探讨如何通过Apache来实现对Tomcat应用的域名...

Global site tag (gtag.js) - Google Analytics