LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5405|回复: 3

配置Apache代理

[复制链接]
发表于 2002-6-6 20:11:01 | 显示全部楼层 |阅读模式
配置Apache代理
代理服务器(proxyserver)是安装于防火墙上的应用程序,它把防火墙内部的局域网连接到Intemet上。代理服务器的功能如下。
    ●监视通过防火墙的数据包并记录传输信息。
    ●对通过防火墙的数据包地址进行过滤。
    ●提供文件缓存功能。
代理服务器可以根据所代理的服务类型分类,例如HTtP代理和FFP代理等。我们以HTTP代理为例,介绍代理服务器的功能。当局域网中的客户机使用HTIT代理服务器时,它的HTTP请求将被发送到代理服务器中,而不是直接发送到源地址。如果代理服务器配置了文件缓存功能,在接受到客户请求时,首先在缓存中检查是否有用户需要的内容。如果缓存中没有,就要从HTTP源地址检索,再把相应内容返回给用户。以后,如果用户再请求相同的内容,代理服务器将直接从缓存中提取。

配置ApacheHTTP代理

Apache作为WWW服务器软件,在内部提供了HTFP代理功能。下面我们将介绍Apache代理的配置方法:

(1)修改文件/etc/httpd/conf/httpd.conf,在其中添加与代理和缓存相关的功能。与代理缓存有关的关键字如下所示。

httpa.conf文件中与代理缓存有关的关键字
ProxyRequests On/Off 启用或者禁用Apache代理功能

Proxyremote path URL remote server 定义此代理服务器的远程代理。当用户请求与URL匹配时,就使用remote server作为远程代理服务器。

其中remote server的格式是: protocol://hostname[:port],由于Apache只能代理HTTP服务,所以protocol值恒为HTTP

ProxyPass path URL允许把远程服务器镜像到本地服务器中。这时,本地代理服务器好像是远程代理服务器的一个镜像

ProxyBlock word/hostname/domain 代理服务器过滤功能。在ProxyBlock关键字以后定义了一组词语、节点名称和域名。如果用户的HTYP请求中包含了这里的词语、节点名称或者域名,请求将被过滤掉

CacheRoot directory 代理缓存的根目录

CacheSize size代理缓存大小,以KB为单位

CacheGcInterval time每隔time小时检查缓存区,如果缓存占用空间超过CacheSize设置的上限,就删除文件缓存中的文件最多保存time小时,这里定义了文件的过期时间

CacheLastModifiedFactor factor如果没有定义文件过期时间,就按照下面的公式计算:过期时间=最近一次修改的时间间隔*factor

CacheDirLevels levels缓存中子目录的层数

CacheDirLenSth lenSth代理缓存子目录名的字母数

CacheDefauhExpire time 如果文件是通过一个不支持过期时间的协议获取的,则使用time作为过期时间

NoCache word/hostname/domain 在NoCache关键字以后定义了一组词语、节点名称和域名。包含这些词语、节点名称或者域名的HTFP文件将不被缓存

(2)修改文件/etc/httpd/conL/access.conf,在其中添加对代理目录的访问控制。下面是一个实例。

<Directory proxy:*>
<Limit GET PUT DELECT CONNECT POST OPTIONS
order deny,allow
deny from all
allow from.company.com
</Limit>
</Directory>
(3)确认CacheRoot关键字指定的缓存目录已经存在。
重新启动hnpd,缓存功能就可以生效了。
 楼主| 发表于 2002-6-6 20:21:34 | 显示全部楼层

配置Apache逆向代理

配置Apache逆向代理
我们通过一个实例介绍Apache逆向代理的配置方法。假设在企业内部网络中有WWW服务器,我们希望这台服务器能够通过连接到Intemet的防火墙提供对外部的WWW服务。
这种把WWW服务器设在网络内部的方法可以把WWW服务器与外部世界隔离,提高安全性。这时,我们需要在防火墙上也安装Apache服务器,使用它提供对WWW服务器的代理访问。同时,结合我们前面介绍的虚拟主机技术,把防火墙作为Apache虚拟主机,使得防火墙上的主页不会被访问到。内部局域网中的WWW服务器
IP地址为192.168.1.2,防火墙主机内部IP地址为192.168.1.1,外部IP地址为202.5.83.124。

配置防火墙上Apache的步骤如下。

(1)在/etc/httpd/conf/httPd.conf文件中添加虚拟主机配置。
NameVirtualHost 202.5.83.124
servername www.company.com
errorlog/var/log/httpd/error—log
transferlog/var/log/httpd/access—log
rewriteengine On
proxyrequests off
usecanonicalname off
rewriterule^/(.*)$http://192.168.1.2$ 1 [P,L]

(2)配置局域网中的DNS服务器,把www.company.com指向202.5.83.124。这样,所有对IP地址202.5.83.124的访问都会被重新导向到内部WWW服
务器中。我们还需要对局域网内部WWW服务器的配置进行修改,具体步骤如下。
1]Apache采用默认配置,主目录为/home/httpd/html,主机域名为company.com.cn,别名为www.company.com,并且在srm.conf中添加以下别名
定义。
Alias /pub/home/ftp/pub/
DefaultType application/octet—stream

2]在/etc/hnpd/conf/access.conf中增加一项。
Options lndexes
AllowOverride AuthConfiq
order allow,deny
allow from all

3]在/home/ftp/pub目录下放人.htaccess文件,内容如下。
#cat.htaccess
AuthName Branch Office Public Software Download Area
AuthType Basic
AuthUserFile /etc/.usrpasswd
require valid-user

4]执行如下命令:
#htpasswd -c /etc/.usrpasswd user1

分别创建允许访问/pub文件服务的不同的外部用户名和口令。

发表于 2008-10-30 16:40:56 | 显示全部楼层
请问apache做代理,能代理qq上网么
回复 支持 反对

使用道具 举报

发表于 2009-4-29 15:23:02 | 显示全部楼层
谢谢楼主分享!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表