Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和 HTTP。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
vim /etc/squid/squid.conf
# 打开
cache_dir ufs /var/spool/squid 150 16 256 #缓存目录 三个数子分别为 缓存大小(单位M) 一级子目录 二级子目录
# 添加
cache_mem 128 MB #内存中为其设置的缓存(要小于上面的目录缓存大小,否则有警告)
refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload
visible_hostname ping.com #指向的代理主机,有的版本不加会报错
mkdir /data/cache
chown -R squid:squid /data/cache
squid -z #初始化缓存目录,该步骤可以省略
squid -kcheck #可以检测配置文件是否有错
squid -k rec #可以重新加载配置
# linux下
curl -x127.0.0.1:3128 http://www.baidu.com -I
200 OK 配置成功
# windows下用IE
浏览器工具>internet选项>连接>局域网设置>代理服务器第一项打钩>高级>设置http项
vim /etc/squid/squid.conf
acl CONNECT method CONNECT
# 添加行
acl http proto HTTP #http的 正确是会有语法高亮 第1.3项 关键字高亮
acl good_domain dstdomain .ping.com .baidu.com #白名单
http_access allow good_domain #可访问白名单的
http_access deny !good_domain #拒绝访问黑名单的
vim /etc/squid/squid.conf
# 修改
http_port 3128
http_port 80 accel vhost vport #保证80端口不被占用
# 之前增加的域名白/黑名单相关配置去掉
#添加行
cache_peer 115.239.210.27 parent 80 0 originserver name=a #代理的IP可用ping得到
cache_peer_domain a www.baidu.com #代理的域名 各个name不重复
cache_peer 115.236.148.160 parent 80 0 originserver name=b
cache_peer_domain b www.qq.com
cache_peer 61.172.201.194 parent 80 0 originserver name=c
cache_peer_domain c www.sina.com
测试时用windows的话,先修改hosts文件,将代理的域名指向代理服务区IP