分享

IIS和APACHE共用80端口的方法

 gaofrank 2008-10-28

此文感谢 华天 提供,仅发表收录,版权归原作者所有

1、服务器IP假设为111.111.111.111,操作系统为Windows 2003 server

2、IIS中有一个asp.net站点,域名为www.,并且已绑定,初始端口为80

3、现在需要创建一个PHP站点,需要使用web服务器为Apache。域名为www.

提出的问题:

当客户端提交http时,默认是80端口,而IIS默认是80端口,当访问www.时,站点自动由IIS解释。但访问www.时,由于服务器是Apache,端口是80,显然此时服务器上的IIS和Apache冲突,当然你可以改变IIS和Apache的端口。但你不希望用户访问站点是需要加上端口(http://www.:8080)吧?

解决方案,步骤:

使用apache来代理IIS,从而达到虚拟的Apache和IIS的整合。即当用户请求和时,统一由Apache来解释,然后Apache将virualhost自动转向给IIS。

1、将IIS端口设置为8080。此处略。访问http://www.:8080即可看到IIS中的asp.net站点。

2、安装Apache,这里下载的是apache2.2,注意,请下载msi的win32程序,因为操作系统是Windows.安装后请将Apache端口设置为80.安装的最后有提示,此处细节省略。

3、开始配置虚拟主机。找到apache安装目录下conf下的httpd.conf,用记事本打开。

找到这四行,将注释去掉(即去掉每行前面的#号)
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

在其中加上
NameVirtualHost 111.111.111.111:80

<VIRTUALHOST 111.111.111.111:80>
    ServerAdmin a@
    ServerName www.
    DefaultLanguage zh-CN
    AddDefaultCharset GB2312
    ProxyPass / http://www.:8080/
    ProxyPassReverse / http://www.:8080/
</VIRTUALHOST>

上述代码就是将Apache的请求转向了IIS,保存文件后,重新启动Apache。

此时请访问www.,是不是和www.:8080一样呢!

OK!a站点虚拟成功!至于B站点可以有详细的配置,例如默认文档等等,此处省略。

PHP站点配置将在以后配置!



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2234329


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多