将Apache配置为代理服务器的方法
时间:2015-08-03 00:35 来源:linux.it.net.cn 作者:IT
设置代理
假设apache 安装在/usr/local/apache2,设环境变量 $APACHE_HOME=/usr/local/apache2。 打开$APACHE_HOME/conf/httpd.conf,添加如下配置:
1
2
3
ProxyRequests on
ProxyRemote * http://proxy_ip:proxy_port
ProxyBlock <word/host/domain list>
ProxyRemote 定义此SERVER的远程代理,如果能直接连Internet,则不需要设置。 *表示对所有请求都使用远程。ProxyBlock定义哪些站点的请求被PROXY阻断,比如
1
ProxyBlock 123.com www.ftt.net ffff
表示凡是在域名中出现ffff,123.com以及 域名是www.ftt.net的站点都会被Proxy阻断,导致无法访问。
至此,Proxy设置完成
设置缓存
打开$APACHE_HOME/conf/httpd.conf
1)CacheRoot <diretectory>定义缓存存放的位置 , 比如
1
CacheRoot /var/cache/httpd
就是说所有的缓存都会放在/var/cache/httpd目录下面。
2)CacheSize <size> 定义缓存区大小,以KB为单位。
3) CacheGcInterval <time> , 每隔<time>小时检查缓存区,如果已经超过CacheSize就删除文件。缺省是4
4) CacheMaxExpire <time> HTTP文件最多被保持<time>小时。缺省是24
5)CacheLastModifiedFactor <factor> 定义HTTP文件失效因子,缺省是0.1
意思是说失效期=离最近一次修改的时间间隔 * <factor>,比如距离最近一次修改的时间是5小时, 那么5X0.1=0.5小时后缓存失效。
6) CacheDirLevels 定义缓存子目录层数,缺省是1
7) CacheDirlength 设置缓存子目录名字的长度,缺省是1(即所有子目录的名字都是由一个字母组成)
8) NoCache <word/host/domain list> 定义哪些站点不要缓存。
比如
1
NoCache 123.com www.ftt.net ffff
表示凡是在域名中出现ffff,123.com以及域名是www.ftt.net的站点都会不被PROXY缓存。
下面是我在本地服务器上的部分配置, 仅供参考:
1
2
3
4
5
6
7
ProxyRequests on
CacheRoot /var/cache/httpd
CacheSize 5000
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1
规定哪些IP地址可以使用PROXY SERVER,哪些不可以
1
2
3
4
5
6
7
<Directory proxy:*>
<limit GET PUT DELETE CONNECT OPTIONS>
order deny allow
deny from [不可以使用Proxy Server的IP地址或者节点名]
allow from [可以使用Proxy Server的IP地址或者节点名]
</limit>
</Directory>
设置用户的浏览器使用PROXY
略
如果需要给代理添加验证,请参考: http://stackoverflow.com/questions/724599/setting-up-an-apache-proxy-with-authentication (责任编辑:IT)
设置代理 假设apache 安装在/usr/local/apache2,设环境变量 $APACHE_HOME=/usr/local/apache2。 打开$APACHE_HOME/conf/httpd.conf,添加如下配置:
ProxyRemote 定义此SERVER的远程代理,如果能直接连Internet,则不需要设置。 *表示对所有请求都使用远程。ProxyBlock定义哪些站点的请求被PROXY阻断,比如
表示凡是在域名中出现ffff,123.com以及 域名是www.ftt.net的站点都会被Proxy阻断,导致无法访问。 至此,Proxy设置完成 设置缓存 打开$APACHE_HOME/conf/httpd.conf1)CacheRoot <diretectory>定义缓存存放的位置 , 比如
就是说所有的缓存都会放在/var/cache/httpd目录下面。 2)CacheSize <size> 定义缓存区大小,以KB为单位。 3) CacheGcInterval <time> , 每隔<time>小时检查缓存区,如果已经超过CacheSize就删除文件。缺省是4
4) CacheMaxExpire <time> HTTP文件最多被保持<time>小时。缺省是24 5)CacheLastModifiedFactor <factor> 定义HTTP文件失效因子,缺省是0.1意思是说失效期=离最近一次修改的时间间隔 * <factor>,比如距离最近一次修改的时间是5小时, 那么5X0.1=0.5小时后缓存失效。 6) CacheDirLevels 定义缓存子目录层数,缺省是1 7) CacheDirlength 设置缓存子目录名字的长度,缺省是1(即所有子目录的名字都是由一个字母组成) 8) NoCache <word/host/domain list> 定义哪些站点不要缓存。 比如
表示凡是在域名中出现ffff,123.com以及域名是www.ftt.net的站点都会不被PROXY缓存。 下面是我在本地服务器上的部分配置, 仅供参考:
规定哪些IP地址可以使用PROXY SERVER,哪些不可以
设置用户的浏览器使用PROXY 略 如果需要给代理添加验证,请参考: http://stackoverflow.com/questions/724599/setting-up-an-apache-proxy-with-authentication (责任编辑:IT) |