首页 > 代码库 > squid代理配置

squid代理配置

squid:作用:代理,缓存,不可访问的通过代理可访问。

正向代理:squid后面是客户端,客户端上网要通过squid
常用在企业办公环境中,节省网络带宽资源,
员工上网需通过squid代理。

用户<--->访问<--->代理服务器<--->防火墙|资源服务器
反向代理:squid后面是服务器,服务器返回给用户数据需要走squid.
用在网站架构中,常用来搭建网站静态项(图片,css,html,js,流煤体等)缓存服务器。

用户<--->代理服务器<--->资源服务器

一、正向代理

1、安装squid:yum install -y squid
2、打开squid.conf
修改内容:
打开cache_dir ufs /var/spool/squid 100 16 256
即前面的#去掉。
3、手动增加cache_men 100MB 启用一定的内存作缓存。
4、设置缓存对象配置
refresh_pattern \.(jpg|png|gif|css|js|mp3) 1400 20% 2880 ignore-reload(忽略重新加载)
检查配置文件是否有问题
squid -kcheck
5、启动squid
启动之前先进行初始化缓存目录
mkdir /data/cache
修改目录所有者,所属组
chown -R squid:squid /data/cache/
初始化 squid -z
/etc/init.d/squid start
初始化
出错可查看错误日志,从而解决问题。
6、查看是否服务启动/听端口
ps aux|grep squid
netstat -ltnp
测试:curl -xlocalhost:3128 http://www.baidu.com/
对图片的缓存:curl -xlocalhost:3128 http://www.apelearn.com/fenqi.htmlhttp://ask.apelearn.com/uploads/y/43.jpg -I

7、拒绝某些站点的访问
打开squid.conf
在其中acl 部分加入如入内容:
acl http proto HTTP
acl good_domain dstdomain .baidu.com
http_access allow good_domain
http_access deny !good_domain
重新加载:squid -krec
测试:curl -xlocalhost:3128 http://www.baidu.com/ -I
测试:curl -xlocalhost:3128 http://www.sohu.com/ -I

可访问的就是代理的域名

二、反向代理

1、打开squid.conf
修改内容:代理谁就要知道它的域名及IP。
http_port 80 accel vhost vport
cache_peer 111.13.100.92\
->parent 80 0 originserver name=a
cache_peer_domain a www.baidu.com
如果是多个代理其name名不可相同。
检测: squid -kch
重新加载:squid -kre

2、因为端口是80所以需要先关闭nginx/apache服务
3、重新启动squid服务。
/etc/init.d/squid start

测试:curl -xlocalhost:80 http://www.sohu.com -I
curl -xlocalhost:80 http://www.baidu.com -I

可访问的就是代理的域名。

squid代理配置