一、问题描述
在SUN SOLARIS服务器上运行着一个Apache的HTTP Server。为了在迁移前一版本的ASP网站到JSP网站的过程中平滑过渡,需要在Apache服务器上运行ASP。
二、实现原理
在SUN SOLARIS服务器所在的内网中搭建一个Windows平台的IIS服务器。使用Apache的Proxy Reverse即反向代理功能,将对Apache服务器的ASP请求代理到内网的IIS服务器上,这样就完成了在Apache服务器上兼容运行ASP程序的方案。
三、实现方案
出于方便性的考虑,测试方案在Windows平台下搭建Apache服务器,并代理到内网的IIS服务器。
1. 安装Apache
下载Apache2
版本:Apache 2.0.54
地址:http://www.apache.inetcosmos.org/dist/httpd/binaries/win32/
运行下载的apache_ 2.0.54 -win32-x86-no_ssl.exe,按照向导安装到C:/Program Files/Apache Group/Apache2。将默认端口设置为8080以便不与本机的IIS冲突。
若Apache服务没有启动,进入命令行方式,进入C:/Program Files/Apache Group/Apache2/bin目录,输入Apache –k install命令安装Apache服务,再输入Apache –k start命令运行Apache服务。
打开浏览器,在地址栏输入http://localhost:8080/如果看到Apache的欢迎画面,说明Apache服务已成功安装。
2. 配置Apache
用文本编辑器打开C:/Program Files/Apache Group/Apache2/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
<IfModule mod_proxy.c>
ProxyRequests On
ProxyPass /asp/ http://127.0.0.1:80/
ProxyPassReverse /asp/ http://127.0.0.1:80/
<Proxy *>
Order deny,allow
# Deny from all
Allow from all
</Proxy>
</IfModule>
说明:ProxyPass /asp/ http://127.0.0.1:80/
ProxyPassReverse /asp/ http://127.0.0.1:80/
当中的/asp/为要代理到内网的asp请求所在的虚拟目录,即访问Apache服务器上的/asp/目录下的请求都将被代理到内网的IIS服务器。
/asp/后面的http://127.0.0.1:80/为内网的IIS服务器所在的URL,这里暂时写成本机。
3. 测试代理结果
进入命令行方式,进入C:/Program Files/Apache Group/Apache2/bin目录,输入Apache –k stop命令停止Apache服务,再输入Apache –k start命令重启Apache服务。
打开浏览器,在地址栏输入http://localhost:8080/如果看到Apache的欢迎画面,说明Apache服务还在正常运行。
在地址栏输入http://localhost:8080/asp/如果看到的内容和http://127.0.0.1:80/的内容相同,那么恭喜你,任务已经完成了。