部署和调优 2.1 squid正向代理

 

安装squid

yum install -y squid

Squid 官方网站为 http://www.squid-cache.org

 

打开注释掉的

cache_dir ufs /var/spool/squid 100 16 256

缓存目录的位置,大小100M 一级子目录16个 二级子目录256个。

 

在下面添加一行

cache_mem 128 MB

为了加快速度,把缓存的东西放内存里,128M

 

在最后添加一行

refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload

  visible_hostname aminglinux.com

正则表达匹配,,把这些格式的文件缓存,忽略重新加载。

 

启动squid

/etc/init.d/squid start

 

查看监听端口

netstat -lnp

tcp        0      0 :::3128                     :::*                        LISTEN  1423/(squid)

占用的是3128端口

 

在windows浏览器里设置

工具-Internet选项-链接-局域网设置-为LAN使用代理服务器-地址192.168.1.117:端口3128

访问www.baidu.com,很慢,还是可以访问。

 

抓包

安装抓包命令

yum install -y tcpdump

 

 抓包命令

tcpdump -nn port 3128

 

缓存目录产生了很多文件,都是刚刚产生的

cd /var/spool/squid/00/00

 

 用curl查看,ok的

 curl -x127.0.0.1:3128 www.baidu.com -I

HTTP/1.0 200 OK

 

控制访问

有时,我们会有这样的需求,就是想限制某些域名不能通过代理访问,或者说只想代理
某几个域名

打开配置文件

 vim /etc/squid/squid.conf

 

添加一段

acl http proto HTTP
acl good_domain dstdomain .baidu.com .qq.com
http_access allow good_domain
http_access deny !good_domain

制定http协议

good_domain 白名单

allow 允许访问

deny 拒绝非good_domain

 

 cache_mem分的内存太大,要小于上面的100 修改否则报错

WARNING cache_mem is larger than total disk cache space!

cache_mem 128 MB 改为 cache_mem 28 MB

 

检查配置文件是否正确

 squid -kcheck

 

 重新加载

 squid -kre

 

crul 一下网站试试

curl -x127.0.0.1:3128 www.qq.com -I

 200 OK

 

curl -x127.0.0.1:3128 www.163.com -I

  403

 

 

黑名单

acl http proto HTTP
acl bad_domain dstdomain .sina.com .souhu.com
http_access allow http !bad_domain
http_access deny http bad_domain

  

 

posted @ 2015-12-19 23:00  dennyLinux  阅读(612)  评论(0编辑  收藏  举报