您的位置:首页 > 运维架构 > 反向代理

squid代理的配置文档与处理方法

2012-06-02 22:56 288 查看
限制访问以.php文件
acl denyurl urlpath_regex .php
http_access deny denyurl
/usr/sbin/squid -k rotate
http://www.slideshare.net/pickup112/squid-cache 自带的清楚缓存工具
squidclient -h 缓存服务器IP -p 缓存服务器端口 -m PURGE 欲更新的URL
清楚脚本:
#!/bin/sh
squidcache_path="/var/spool/squid/*"
squidclient_path="/usr/sbin/squidclient"
grep -a -r $1 $squidcache_path/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' > cache_list.txt
for url in `cat cache_list.txt`; do
$squidclient_path -m PURGE -h 116.208.1.22 -p 80 $url
done

用法:
./clear_squid_cache.sh http://touying2.3242.net 清空整个网站
  
  1、清除所有Flash缓存(扩展名.swf):
  ./clear_squid_cache.sh swf

  2、清除URL中包含sina.com.cn的所有缓存:
  ./clear_squid_cache.sh sina.com.cn

  3、清除文件名为zhangyan.jpg的所有缓存:
  ./clear_squid_cache.sh zhangyan.jpg
一、编译安装
#tar zxvf squid-3.0.STABLE11.tar.gz //稳定版
#cd squid-3.0.STABLE11
#./configure --prefix=/usr/local/squid \
--enable-arp-acl \
--enable-linux-netfilter \
--enable-pthreads \
--enable-err-language="Simplify_Chinese" \
--enable-default-err-language="Simplify_Chinese" \
--enable-underscores \
--disable-internal-dns \
--enable-pf-transparent \
--enable-referer-log
#make
#make instlal
注:--enable-internal-dns 做多个网站反向代理时使用,允许使用内部dns,也可改/etc/hosts
====================================================
二、初始化
#adduser squid
#addgroup squid
#mkdir /usr/local/squid/var/cache
#mkdir /usr/local/squid/var/logs
#chown -R squid:squid /usr/local/squid/var/cache //默认nobody运行
#chown -R squid:squid /usr/local/squid/var/logs
#squid -z //初始化cache目录 #squid -zX 可查看初始化过程
在/etc/hosts中:加入内部的DNS解析,比如:
192.168.1.65 www.linuxidc.com
三、配置/usr/local/squid/etc/squid.conf
#vim /usr/local/squid/etc/squid.conf
(4700多行配置….. 大多是注释,不管它,光标移到最后加入以下配置)
#==============================cut here===================================
# 主机名(3.0加入配置),无此项无法启动
visible_hostname www.linuxidc.com
# 管理员邮箱,会显示在错误信息页面上,方便发生错误时联系!
cache_mgr root@localhost.localdomain
# 实现透明代理(squid2.7以上),其中vhost是必须的
http_port 80 vhost vport
# 缓存设置
cache_mem 256 MB
maximum_object_size_in_memory 2 MB
# 替换机制(lru叫做“最近不常用的单元”unit一般就是常说object, 也就是当cache
# 中的内容比如内存或硬盘达到上限时就需要进行数据的换进和换出工作)
memory_replacement_policy lru
# 缓存目录512M,其中一级目录16个,二级256个(每个一级下16个二级)
cache_dir ufs /usr/local/squid/var/cache 512 16 256
max_open_disk_fds 0
#缓存内容大小控制,当cache目录被占用到97%时,内容将被清空20%
cache_swap_low 80
cache_swap_high 97
# 错误信息目录
error_directory /usr/local/squid/share/errors/Simplify_Chinese
# 最大和最小缓存对象
minimum_object_size 0 KB
maximum_object_size 30 MB
http://wenku.baidu.com/view/373cbe1752d380eb62946d59.html
本文出自 “Linux网络安全” 博客,请务必保留此出处http://caomacheng.blog.51cto.com/4731943/885729
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: