squid 代理缓存

squid 可以将ssl请求可以直接发至源服务器或者其他代理服务器

访问控制列表、缓存层次、http服务加速

类型:系统V管理的服务

软件包: squid

守护进程:/usr/sbin/squid

脚本:/etc/init.d/squid

端口:默认3128 可配置

配置文件:/etc/squid/*

so

源地址(客户端) 和 目标地址(服务器端)

比较有用的参数

squid_port 3128

cache_mem 内存缓存  如果只做代理就设置1/2 如果还有其他服务就1/3

cache_dir ufs  /var/spool/squid  100 16 256   100cache  16一级目录 256二级目录

acl all src   0.0.0.0/0.0.0.0

acl localhost src  127.0.0.1/255.255.255.255

http_access allow  localhost

http_access deny

这个allow和deny是有顺序规定的 allow必须在deny上边


类型选择

src 客户机IP

dst 服务器IP

srcdomain 客户机域

dstdomain 服务器域

time 一天中的时候或者一周中的一天

url_regex url规则表达匹配

urlpath_regex;URL-path 略去协议和主机名的url规则表达式匹配

proxy_auth 通过外部程进行用户验证

maxconn 单一IP的最大连接数

time语法

时间段:[星期][时间段]

星期可以用:M T W H F A S  时间可以表示为:10:00-12:00


grep -v "^#"  filename 过滤文件注释行

grep -v "^$"  filename  除去空白行



418行:设置acl

alc   alcname   src   ip-address/netmask

-i  忽略大小写   \.mp3转意

573行左右:设置alc

616-638行:http_access  deny  + alcname

1575行左右:缓存设置

1782行左右:磁盘的cache

默认建立的一二级目录在/var/spool/squid 100 16 256

初始化代理  squid -z     tree树形结构查看

正向代理   透明代理  反向代理


服务器192.168.1.1    代理192.168.1.2  客户端192.168.1.3

正向代理 http ftp

vim /etc/squid/squid/conf

 http_port 8080

400+   acl vipclient src 192.168.1.3/255.255.255.0

600+   http_access allow vipclient  

允许vipclient 使用代理

客户端最后在浏览器中设置代理服务器IP+端口号


透明代理 gateway   配合iptables

http_port 3128 transparent

启动服务

iptables -A PREROUTING -s 192.168.1.3/255.255.255.0 -p tcp --dport 80 -J REDIRECT --to 3128

PREROUTING基于目的地转发 在路由判断前   DNAT

POSTOUTING基于源地址转发  在路由判断后   SNAT

客户端添加代理网关

route add default gw 192.168.1.2  网关指向代理服务器


反向代理 web

http_port 80 vhost 虚拟主机

cache_peer 192.168.1.1  主机服务端

cache_peer  parent 80 0 originserver

ipc协议

0代表一台代理服务器不转发 如果多台代理改为另外一台代理端口进行转发

客户端在/etc/hosts 进行测试  192.168.1.2    www.example.com

如果是多台代理服务器

cache_peer  parent 80 0 originserver  name=web1

cache_peer  parent 80 0 originserver  name=web2

cache_peer  parent 80 0 originserver  name=web3

cache_peer_domain  web1 www.exampel.com

cache_peer_domain  web2 www.exampel1.com

cache_peer_domain  web3 www.exampel2.com

 

正向和透明代理多应用于内网 反向代理则更多用在外网