部署和调优 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

  

原文地址:https://www.cnblogs.com/wangshaojun/p/5060006.html