lixiaolong 发表于 2017-1-14 11:10:45

Apache 2.2.22整合IIS7和Tomcat7共用80端口【包括DNS域名解析、泛解析 】

  服务器环境
  Web 服务器:操作系统Windows Server2008
  DNS 服务器:操作系统Windows Server2003
   客户端系统:Windows XP
  Web服务器安装IIS7.0
  Web服务器安装Tomcat7就不必介绍了,注意事项:确保安装路径没有空格[实践总结]
  Web服务器安装Apache2.2.22版本:

  网络域名和服务器名我是随便输入的。
  接下来选择自定义安装,我选择的是:D:\JavaWorkSpace\Apache2.2\

  安装完成后Apache服务器自动启动:

  打开浏览器输入http://127.0.0.1,看见
  It works!
  说明安装成功了。
  说一下IIS,我的站点配置为81访问端口,主机名iiswork.cn:
  
  接下来说说Tomcat7,我什么也不配置,按照默认的8080端口使用
  当然我的Tomcat7是可以使用的:
  
  接下来开始整合:
  打开Apache下conf目录下的httpd.conf文件,
  加载一下模块[就是取消#号即可]
  #LoadModule proxy_module modules/mod_proxy.so #加载代理模块
  #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #加载ftp代理模块
  #LoadModule proxy_http_module modules/mod_proxy_http.so #加载http代理模块
  #Include conf/extra/httpd-vhosts.conf #包含虚拟主机配置文件[因为我们要为每个访问配置虚拟主机]
  
  接下来打开D:\JavaWorkSpace\Apache2.2\conf\extra目录的下的虚拟主机配置文件httpd-vhosts.conf
  在末尾添加如下虚拟主机配置:
  <VirtualHost *:80>
   ProxyPreserveHost On
   ServerAdmin jiangtong6666@126.com
   ServerName iiswork.cn
   ServerAlias *.iiswork.cn
   DocumentRoot "C:\inetpub\wwwroot"
   DirectoryIndex iisstart.htm index.html index.asp
   ProxyPass / http://localhost:81/
   ProxyPassReverse / http://localhost:81/
  </Virtualhost>
  
  <VirtualHost *:80>
   ServerName tomcatwork.cn
   ServerAlias *.tomcatwork.cn
   ProxyPass / http://localhost:8080/
   ProxyPassReverse / http://localhost:8080/
  </VirtualHost>
  
  <VirtualHost *:80>
   ServerName tomcatdoc.cn
   ServerAlias *.tomcatdoc.cn
   ProxyPass / http://localhost:8080/docs
   ProxyPassReverse / http://localhost:8080/docs
  </VirtualHost>
  
  重新启动Apache服务器,在浏览器输入:
  http://iiswork.cn
  http://tomcatwork.cn
  http://tomcatwork.cn
  http://tomcatdoc.cn
  
  要想使以上域名能够正确解析还要在域名服务器注册这些域名,如下:

  注意每个正向查找区域里面都配置有两个主机,他们一个是与IP绑定的与父文件夹相同的主机

  另一个是为了支持域名泛解析用的与IP绑定的名称为*号的主机。

  所谓泛解析就是当你在域名前面补充上任何名字的二级域名的时候,那么DNS都解析到相同的IP地址,以这里为例,你将来输入iiswork.cn、abc.iiswork.cn、xxyy.iiswork.cn都会被解析到192.168.1。89这个服务器地址。
  
  为了DNS解析生效我立即启动一下服务器。
  客户端浏览器地址栏输入以下地址测试:
  http://iiswork.cn
  http://abcd.iiswork.cn
  http://xyz.iiswork.cn
  http://tomcatwork.cn
  http://abc.tomcatwork.cn
  http://xde.tomcatwork.cn
  http://tomcatdoc.cn
  运行前面几个都正确,但是运行最后一个出现:
此网页包含重定向循环
  http://tomcatdoc.cn//的网页生成了过多的重定向。清除此网站的 Cookie或允许第三方 Cookie 可能会解决该问题。如果不能解决,则可能是服务器配置的问题,而不是您的计算机有问题。
以下是一些建议:
  · 请稍后重新加载此网页。
  · 详细了解此问题。
  错误 310 (net::ERR_TOO_MANY_REDIRECTS):重定向过多。
  
  IE上则干脆一整狂闪,貌似要死机。说明不能将当前Web应用的子目录用来映射成Apache上的虚拟主机。我们修改Tomcat改用多个端口来实现部署不同的应用。
  修改Server.xml文件如下:
  <Service name="Catalina">
   <Connector port="8080" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />
   <Engine name="Catalina" defaultHost="localhost">
   <Realm className="org.apache.catalina.realm.LockOutRealm">
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
   resourceName="UserDatabase"/>
   </Realm>
   <Host name="localhost" appBase="webapps"
   unpackWARs="true" autoDeploy="true">
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
   prefix="localhost_access_log." suffix=".txt"
   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  <Context path="/" docBase="examples"/>
   </Host>
   </Engine>
   </Service>
  <!---下面是新添加的---à
   <Service name="Catalina.docs"> <!-不同和上面相同-à
   <Connector port="8081" protocol="HTTP/1.1"
   connectionTimeout="20000"
   redirectPort="8443" />
   <Engine name="Catalina.docs" defaultHost="localhost"><!-不同和上面相同-à
   <Realm className="org.apache.catalina.realm.LockOutRealm">
   <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
   resourceName="UserDatabase"/>
   </Realm>
   <Host name="localhost" appBase="webapps"
   unpackWARs="true" autoDeploy="true">
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
   prefix="localhost_access_log." suffix=".txt"
   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  <Context path="/" docBase="docs"/>
   </Host>
   </Engine>
   </Service>
  
  以上配置的含义就是把webapps目录下的两个Web应用程序用不同端口的服务暴露出来供单独访问。注意要删除Webapps目录下的ROOT目录或者改名,我采用的改名。
  
  重新修改Apache虚拟主机的配置文件如下:
  <VirtualHost *:80>
   ProxyPreserveHost On
   ServerAdmin jiangtong6666@126.com
   ServerName iiswork.cn
   ServerAlias *.iiswork.cn
   DocumentRoot "C:\inetpub\wwwroot"
   DirectoryIndex iisstart.htm index.html index.asp
   ProxyPass / http://localhost:81/
   ProxyPassReverse / http://localhost:81/
  </Virtualhost>
  
  <VirtualHost *:80>
  ServerName tomcatwork.cn
  ServerAlias *.tomcatwork.cn
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
  </VirtualHost>
  
  <VirtualHost *:80>
  ServerName tomcatdoc.cn
  ServerAlias *.tomcatdoc.cn
  ProxyPass / http://localhost:8081/
  ProxyPassReverse / http://localhost:8081/
  </VirtualHost>
  
  
  重新启动Tomcat服务器,客户端浏览器地址栏输入以下地址:
  http://iiswork.cn
  http://abcd.iiswork.cn
  http://xyz.iiswork.cn
  http://tomcatwork.cn
  http://abc.tomcatwork.cn
  http://xde.tomcatwork.cn
  http://tomcatdoc.cn
  http://abc.tomcatdoc.cn
  http://ttt.tomcatdoc.cn
  
  全部成功!!!!!!!!!!!!!!!!!!!
  更多详细配置请参见:http://httpd.apache.org/docs/2.2/vhosts/name-based.html
  
  
  
页: [1]
查看完整版本: Apache 2.2.22整合IIS7和Tomcat7共用80端口【包括DNS域名解析、泛解析 】