« »
12/12/2009建站

Apache代理IIS共用80的实测方法

Apache和IIS共用80端口,很多情况下为了实现某些目的,又或者局限于什么因素,需要一台服务器装多httpd软件,最常见的莫过于Apache和IIS了。本文的意图就是记录如何让Apache代理IIS,使外网可以共用一个端口访问。

需要的软件:ApacheIIS。无语……

假设你想外网使用Apache的服务并且使用80端口来访问网站,那么httpd.conf里就设置“Listren 80”;然后把需要代理的IIS站点,设置成任意(80等已用端口除外)端口,设置好后开始配置Apache的httpd.conf文件。以下是我实测,可能和网上其他的有一点点区别,但是我是可以实现了,下面列出几个关键部分。

Listren 80
#别人总是说要加IP在前面,我是没加
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
#这两句前的井号去掉,我只用到了http
#之后我设置了通过IP访问的处理方法www.ctusky.com
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "x:/html/ipweb"
ServerName localhost
ServerName *
</VirtualHost>
#然后就是设置代理了,假设IIS里设置的被代理端口为81
<VirtualHost *:80>
ServerName a.com
ProxyPass / http://b.com:81/
ProxyPassReverse / http://b.com:81/
</VirtualHost>
#记得换域名

通过上面的设置,当你访问a.com时,Apache就会把他交给由IIS工作的b.com的81端口了,前提是这个b.com:81能被访问到,如果你是通过内网端口映射,且不想那么麻烦,那么就定义一下自己的HOSTS表。好了,完稿。

日志信息 »

该日志于2009-12-12 19:19由 ctusky 发表在 建站 分类下, 通告目前不可用,你可以至底部留下评论。
如需转载烦请添加以下信息: 本文转自www.ctusky.com
如喜欢这篇文章或者本站,建议您RSS订阅本站,以及时地获取更多精彩内容!

看过本文的人还看过 »

4条评论

  1. lyongde 说:

    您好,今天被这个问题搞头大了,因为对服务器配置不了解,我想问的是,你上面说的“前提是这个b.com:81能被访问到”,是指域名有解析到这里吗?因为我按照你说的步骤有做,而且有在HOST表做定义,但是出现“Service Temporarily Unavailable
    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.”这样的错误。

  2. ctusky 说:

    不是在host表定义,而是你在外网任何一台机器已经可以加端口访问到的前提下。还有,只能一条。

  3. zhangxy 说:

    我也是出现和一楼朋友一样的错误,请问一下:只能一条的意思是不是只能放一个代理IIS的站点呢

  4. ctusky 说:

    我只是实现了代理一个IIS站点,所以我暂时认为只可以一个

发表评论 »

返回顶部