Apache服务器之代理服务


代理服务器是位于客户和客户要访问的服务器之间的系统。当客户机使用URL请求访问远程资源时,代理服务器接受该请求并取得该资源以满足客户机的请求。在通常情况下,代理服务器是客户机的服务器,同时也是远程服务器的客户。

    代理服务器可以在自己的缓冲区中存储被请求的内容,当这些信息再次被请求的时候,代理服务器就无需再从远程服务器上取了,这样代理服务器就减轻了网络的瓶颈问题。大家知道,Apache不仅可作为Web服务器,它还包含了代理服务器(Proxy Server)的功能。因此Apache可以配置成代理服务器,我们根据实际需要,可以配置成为正向和逆(反)向代理。

    正向代理是一个能使我们的浏览器连接一个平时无法访问的远端网络的媒介。一个正向代理也能用于缓冲数据,以降低正向代理和远端web服务器之间的负载。逆(反)向代理是一个web服务器系统。除了为客户端提供位于本地磁盘上的页面或是由CGI动态生成的页面之外,它还能为客户端提供位于其它web服务器上的web页面,从而使这些页面看起来像是存在于这个代理服务器上一样。


    为了允许Apache作为代理服务器,需要将ProxyRequests设为On,所有请求均可由这台代理服务器代理服务。然后根据我们希望代理服务器做什么而增加什么附加配置。无论希望做什么,我们所选的代理配置都应该放入一个特殊的<Directory>容器中。

……… ProxyRequests On <Directory proxy:*> ……… </Directory> ………

下面是在apache的配置文件httpd.conf简单说明:

LoadModule proxy_module modules/libproxy.so ←加载proxy模块
AddModule mod_proxy.c ←增加mod_proxy.c模块
<IfModule mod_proxy.c> ←如果前面加入此模块,则启用里面的设置
ProxyRequests On ←设为On表示启用代理服务
<Directory proxy:*>
Order deny,allow
Deny from all
Allow from .ghq.com ←将允许使用代理服务的网站名称或IP地址填入,此例表示凡来自ghq.com域的计算机都可使用,也可用IP来表示,如202.102.24.表示凡是IP以202.102.24开头的都可使用</Directory>
ProxyVia On ←设为On表示使用Apache服务器的启动或关闭功能
CacheRoot ''/var/cache/httpd'' ←此目录存放已加载的网页
CacheSize 5000 ←默认的Cache只有5KB,根据硬盘空间大小来设置,建议设大一点,此处设为5000KB
CacheGcInterval 4 ←设置检查Cache的间隔时间,单位以小时计算,默认值为4小时
CacheMaxExpire 24 ←设置保存期限,单位以小时计算,决定Cache中的数据可存放多久,默认为24小时
CacheLastModifiedFactor 0.1 ←指定一个数值因子,以便计算过期时限。
CacheDefaultExpire 1 ←给予默认的过期时限,单位以小时计算,这里设置为1小时
</IfModule>

修改好上面的配置后,重新启动Apache服务器,即可提供代理服务。

   在客户端的网页浏览器中要指定代理服务器的地址,这样才能使用到代理服务的功能。在这里我们以微软的IE 6.0为例来说明如何设置。打开IE网页浏览器,然后执行“工具”|“Internet选项”命令,在Internet选项对话框打开连接选项卡,如下图1、图2所示:
 

图1 连接选项卡

    在图1中单击“局域网设置(L)”按钮,设置代理服务器,进入下图2。
 
图2设置代理服务器


    在图2中“自动设置”选项中选中“自动检测设置(A)”,在“代理服务器” 选项中选中“使用代理服务器”,设置好代理服务器的网址(这里为IP地址:192.168.1.1)和端口号(如80),最后单击“确认”按钮,这样就完成了客户端浏览器上设置代理服务器。

    接下来,我们可以试着连到几个网站,然后检查一下Apache服务器所设置的CacheRoot(/var/cache/httpd)目录,就可以看到已经创建了Cache的目录,这表示该台Apache服务器开始提供代理服务器的功能了

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3