`

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是可以使用的:

接下来开始整合:

打开Apacheconf目录下的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.cnabc.iiswork.cnxxyy.iiswork.cn都会被解析到192.168.189这个服务器地址。

为了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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics