Posted on 2007-03-23 11:42
tanzek 阅读(1797)
评论(1) 编辑 收藏 所属分类:
技术学习
写这篇文章,源自于自己的一个需求。这几天一校园WEB站点因为域名到期,这次打算不出资再去买空间了,想用一下校园网络的rich resouces。可服务器不多,都已经在提供WEB服务了。苦思了半天,想起以前弄Apache的时候,记得可以做重定向访问,查了下资料,果然还行。下面就是具体的配置喽:
(因为查了很多的资料,所以改动的地方有好多哦!)
1、先把下面四项前面的注释符号"#"取消掉
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
2、添加如下内容:
ProxyRequests Off
KeepaLive On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
(位置没有关系,不过我建议是放在最后面)
3、然后根据要求配置如下的项目:
NameVirtualHost *
<VirtualHost *>
ServerName hostname.example.net
ProxyPreserveHost On
ProxyPass / http://localhost:81/
ProxyPassReverse / http://localhost:81/
</VirtualHost>
<VirtualHost *>
ServerName hostname.example.com
ProxyPreserveHost On
ProxyPass / http://localhost:82/
ProxyPassReverse / http://localhost:82/
</VirtualHost>
中间的[hostname.example.net]和[hostname.example.com]就是要访问该虚拟主机的名字,可以做域名解析的哦。另外,其中的http://localhost:81/和http://localhost:82/是代表着我自己主机上的两个WEB服务器监听端口,是利用端口重定向的方式来使得IIS、Apache和其它需要80端口服务能够共存,可以根据自己的需要改动,甚至可以重定向到另外的服务器去。呵呵,可以想一下自己做二级域名哦!~
可能出现的问题:
1、其中添加了一个NameVirtualHost和两个VirtualHost,注意后面的*必须相同,否则会出现:
[warn] NameVirtualHost *:0 has no VirtualHosts
另外:
2、在上面配置中的三项必须打开,否则也会出现无法访问网页的现象:
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
中间有一些内容我也没太去研究,所以提供不了更为详细的资料,不过这里给一个链接吧。
Apache2中文手册[
http://www.uplinux.com/download/doc/apache/ApacheManual/]