请选择 进入手机版 | 继续访问电脑版
虚位以待    招租QQ:244594752    尺寸:960x60
加入我们,年会VIP只需139元,全站下载
查看: 254|回复: 0

Apache2.4和IIS7整合,共享80端口测试

[复制链接]

该用户从未签到

2175

主题

2207

帖子

7465

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7465
发表于 2018-4-8 03:05:44 | 显示全部楼层 |阅读模式

Apache和iis安装过程省略

在etc\hosts文件中配置3个测试域名用于整合测试

127.0.0.1 www.test1.com // apache项目
127.0.0.1 www.test2.com // apache项目
127.0.0.1 www.iis.com // IIS项目

Apache项目虚拟主机基本配置情况

在\Apache24\htdocs目录下创建2个目录,test1和test2 , 分别在test1和test2目录想创建一个index.php文件,只要两个内容不同就行,index.php示例代码如下

test1:
<html>
    <body>
        <?php echo "You are in test1"; ?>
    </body>
</html>

test2:
<html>
    <body>
        <?php echo "You are in test2"; ?>
    </body>
</html>
默认将Apache服务器的端口修改为80端口,未配置域名之前,正常访问test1和test2的地址是http://localhost/test1http://localhost/test2 正常情况下,要配置httpd.conf文件的默认访问文件,如下图,添加一个index.php的默认欢迎页面。
20160523165607802.jpg
想要使用www.test1.comwww.test2.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了
20160523165623812.jpg
最后一步,在conf\ extra\httpd-vhosts.conf文件配置虚拟主机,这里使用域名方式配置

<VirtualHost *:80>
    DocumentRoot "D:\website\Apache24\htdocs\test1"
    ServerName www.test1.com   
    ErrorLog "logs/test1-error.log"
    CustomLog "logs/test1-access.log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:\website\Apache24\htdocs\test2"
    ServerName www.test2.com   
    ErrorLog "logs/test2-error.log"
    CustomLog "logs/test2-access.log" common
</VirtualHost>

配置完后重启apache服务,访问www.test1.comwww.test2.com 即可看到如下结果
20160523165702959.jpg
整合IIS服务器项目开始 2016052316jpg5744626.jpg
以默认IIS项目为例,绑定主机地址www.iis.com 将默认的80端口,修改为自定义端口,这里使用802端口,然后启动项目。测试访问
20160523165804455.jpg
正常访问为 www.iis.com:802 地址,理想情况是直接访问www.iis.com地址即可,所以要在整合Apache时,在Apache配置项进行转发,如果外网请求的地址是www.iis.com 那么在Apache地址中转发给本机地址的802端口的ip地址,可以是http://127.0.0.1:802 地址,所以,以下代码是在httpd-vhosts.conf文件中增加一个虚拟主机配置

<VirtualHost *:80>
    ServerName www.iis.com

    ProxyPreserveHost On
    ProxyPass "/" "http://127.0.0.1:802/"
    ProxyPassReverse "/" "http://127.0.0.1:802/"

    ErrorLog "logs/iis-error.log"
    CustomLog "logs/iis-access.log" common
</VirtualHost>

以上虚拟主机配置中,IIS项目使用代理模式配置,流程是当访问www.iis.com域名是,请求的是www.iis.com:80端口地址,这时候会进入Apache服务器,然后apache判断域名是www.iis.com将其转发给IIS服务器项目,例如自定义的802端口,重启Apache服务器,测试OK

20160523165833346.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|妙想源码社区 积分提现

GMT+8, 2018-9-25 00:14 , Processed in 1.102319 second(s), 27 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表
 
FDGDF
客服QQ 妙想科技 244594752
【旺旺】 点击这里给我发消息
【邮箱】
244594752@qq.com
【地址】 湖南省常德市武陵区三姑巷77
【妙想科技】 【9188qhl.com】