由于工作需要,使用squid做正向代理,下面分享一些经验,有问题可以联系我沟通:
一.centos 7 安装squid
yum install -y squid
二.修改配置文件
vi /etc/squid/squid.conf
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),/比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB //设置squid内存缓存最SER大文件,超过4M的文件不保存到内存
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %
access_log /var/log/squid/access.log combined //log文件存放路径和日志格式
cache_log /var/log/squid/cache.log //设置缓存日志
logfile_rotate 60 //log轮循 6
cache_swap_high 95 //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90 //cache目录清理到90%时停止。
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本地网段使用
http_access deny all //拒绝所有
visible_hostname squid.david.dev //主机名
cache_mgr [email protected] //管理员邮箱
三,限制可访问的地址
配置文件中添加http_access deny !allow_url表示禁止非allow_erl的地址访问,allow_url为标识,可以随意更改名字;
将需要访问的地址添加到allow_url中,我用的是正则添加的acl allow_url url_regex -i teamviewer表示允许包含teamviewer的地址进行访问;
四.启动关闭
service start squid #启动squid 如果启动失败Failed to start Squid caching,请安装openssl yum -y install openssl即可
service restart squid #重启squid
service stop squid #停止squid