Apache2.4和IIS7整合共享80端口测试
言我再重新排版一下
在C:\Windows\System32\drivers\etc\hosts文件中配置2个测试域名用于整合测试
127.0.0.1 www.aaa.com // apache项目
127.0.0.1 www.bbb.com // IIS项目
Apache项目虚拟主机基本配置情况
在\Apache24\htdocs目录下创建test目录,在test目录里创建一个index.php文件,index.php示例代码如下
<html> <body> You are in Apache test </body> </html>
默认将Apache服务器的端口修改为80端口,未配置域名之前,正常访问test的地址是http://localhost/test正常情况下,要配置httpd.conf文件的默认访问文件,如下图,添加一个index.php的默认欢迎页面。
想要使用www.test.com 方式访问这两个项目,还需要如下配置
取消以下httpd.conf几行的注释,以便整合Tomcat和IIS
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so
httpd.conf 找到VirtualHost example,在后面引入httpd-vhosts.conf文件:Include conf/extra/httpd-vhosts.conf
这个句话,高版本的apache里面已经写有了,只需吧Include前面的#号去掉就OK了
最后一步,在conf\ extra\httpd-vhosts.conf文件配置虚拟主机,这里使用域名方式配置
<VirtualHost *:80> DocumentRoot "C:\Apache24\htdocs" ServerName www.aaa.com </VirtualHost>
配置完后重启apache服务,访问 http://www.aaa.com/test 即可看到如下结果
整合IIS服务器项目开始
以默认IIS项目为例,绑定主机地址www.bbb.com 将默认的80端口,修改为自定义端口,这里使用8000端口,然后启动项目。测试访问
正常访问为 www.bbb.com:8000 地址,理想情况是直接访问www.bbb.com地址即可,所以要在整合Apache时,在Apache配置项进行转发,如果外网请求的地址是www.bbb.com 那么在Apache地址中转发给本机地址的8000端口的ip地址,可以是http://127.0.0.1:8000地址,所以,以下代码是在httpd-vhosts.conf文件中增加一个虚拟主机配置
<VirtualHost *:80> ServerName www.bbb.com ProxyPreserveHost On ProxyPass "/" "http://127.0.0.1:8000/" ProxyPassReverse "/" "http://127.0.0.1:8000/" </VirtualHost>
以上虚拟主机配置中,IIS项目使用代理模式配置,流程是当访问www.bbb.com域名是,请求的是www.bbb.com:80端口地址,这时候会进入Apache服务器,然后apache判断域名是www.bbb.com将其转发给IIS服务器项目,例如自定义的8000端口,重启Apache服务器,测试OK
Apache配置虚拟主机的三种方式
http://www.ibloger.net/article/297.html
Apache中ProxyPass与ProxyPassReverse及ProxyPassMatch概述