二. squid配置
1. 什么是squid
squid可以做代理也可以做缓存
squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O.
squid不仅可以做正向代理,又可以做反向代理。
正向代理,squid后面是客户端,客户端上网要通过Squid去上;反向代理,squid后面是服务器,服务器返回给用户数据需要走squid.
正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样可以节省网络带宽资源。而反向代理用来搭建网站静态项(图片、html、流媒体、js、css等)的缓存服务器,它用于网站架构中。
2. 搭建squid正向代理
官方网站为 http://www.squid-cache.org/
yum install -y squid
squid -v 查看版本以及编译参数
> /etc/squid/squid.conf
vim /etc/squid/squid.conf
打开 cache_dir ufs /var/spool/squid 100 16 256 -----定义缓存大小100M
增加: cache_mem 100 MB ----缓存放入内存的大小
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440 50% 2880 ignore-reload
visible_hostname aminglinux.com
重启squid : /etc/init.d/squid start
定义白名单:
acl http proto HTTP ---定义协议
acl good_domain dstdomain .baidu.com .qq.com ---允许访问的网站
http_access allow good_domain
http_access deny !good_domain
squid -kcheck #可以检测配置文件是否有错
squid -k rec #可以重新加载配置
service squid restart #重启squid服务
定义黑名单:
acl http proto HTTP ---定义协议
acl bad_domain dstdomain .baidu.com .qq.com ---允许访问的网站
http_access deny bad_domain
http_access allow !bad_domain
/etc/init.d/squid start
squid -kcheck #可以检测配置文件是否有错
squid -k rec #可以重新加载配置
service squid restart #重启squid服务
测试:curl -xlocalhost:3128 www.qq.com
访问图片,测试缓存: curl -xlocalhost:3128 -I 'http://www.aminglinux.com/bbs/static/p_w_picpath/common/logo.png'
限制某些域名不能通过代理访问,或者说只想代理某几个域名 vim /etc/squid/squid.conf
acl http proto HTTP
acl good_domain dstdomain .lishiming.net .aminglinux.com
http_access allow http good_domain
http_access deny http !good_domain
测 curl -xlocalhost:3128 www.google.com.hk -I #403
测 curl -xlocalhost:3128 www.aminglinux.com/bbs/forum.php -I #200
vim /etc/squid/squid.conf #设置域名黑名单
3. 搭建squid反向代理
vim /etc/squid/squid.conf #如下变更
http_port 3128 改为 http_port 80 accel vhost vport
增加如下内容:
cache_peer 123.125.119.147 parent 80 0 originserver name=a
cache_peer_domain a www.qq.com
cache_peer 61.135.169.125 parent 80 0 originserver name=b
cache_peer_domain b www.baidu.com
之前增加的域名白/黑名单相关配置去掉
如果是squid要代理一台web上的所有域名,那么就写成这样: cache_peer 192.168.10.111 parent 80 0 originserver #只需要这一行,cache_peer_domain 都可以省掉
/etc/init.d/squid restart
测试 www.baidu.com www.qq.com www.lishiming.net
转载于:https://blog.51cto.com/xiongrc/1788137