IIS与Apache共用80端口

Windows server 2003服务器上安装有默认 IIS 6和Apache两个服务器,IIS运行的一个.net程序,apache运行php程序,现在想让它们同时都能通过80端口访问,设置起来还比较简单。

IIS的.net程序假设绑定81端口,主机名:www.a.com

apache的php程序绑定80端口,主机名:www.b.com

然后假设apache服务器已经安装完成,打开httpd.conf配置文件,找到这些地方去掉#开启代理模块:

1
2
3
4
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

还有确保这里也取消了注释:

1
Include conf/extra/httpd-vhost.conf

然后打开apache/conf/extra目录里面的httpd-vhosts.conf文件,在最后添加如下内容:

1
2
3
4
5
6
7
8
9
10
NameVirtualHost *:80
<VIRTUALHOST *:80>
    ServerName    www.b.com
    DocumentRoot "D:/web/php站点目录"
</VIRTUALHOST >
<VIRTUALHOST *:80>
    ServerName www.a.com
    ProxyPass / http://www.a.com:81/
    ProxyPassReverse / http://www.a.com:81/
</VIRTUALHOST>

最后把两个服务器都重启一下,同时打开www.a.com和www.b.com都能正常访问了。