Squid 服务搭建

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和 HTTP。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

squid正向代理

安装

yum install -y squid

修改配置文件

vim /etc/squid/squid.conf

# 打开
cache_dir ufs /var/spool/squid 150 16 256 #缓存目录 三个数子分别为 缓存大小(单位M) 一级子目录 二级子目录



# 添加
cache_mem 128 MB #内存中为其设置的缓存(要小于上面的目录缓存大小,否则有警告)
refresh_pattern \.(jpg|png|gif|js|css|mp3|mp4) 1440 20% 2880 ignore-reload 
visible_hostname ping.com #指向的代理主机,有的版本不加会报错

创建缓存目录

mkdir /data/cache
chown -R squid:squid /data/cache

squid -z  #初始化缓存目录,该步骤可以省略

启动服务

systemctl start squid

squid -kcheck #可以检测配置文件是否有错

squid -k rec #可以重新加载配置

用curl来测试

# linux下
curl -x127.0.0.1:3128 http://www.baidu.com -I
200 OK 配置成功

# windows下用IE
浏览器工具>internet选项>连接>局域网设置>代理服务器第一项打钩>高级>设置http项

使用正向代理来进行域名控制

vim /etc/squid/squid.conf

acl CONNECT method CONNECT 
# 添加行
acl http proto HTTP                                 #http的 正确是会有语法高亮 第1.3项 关键字高亮 
acl good_domain dstdomain .ping.com .baidu.com      #白名单
http_access allow good_domain                       #可访问白名单的
http_access deny !good_domain                       #拒绝访问黑名单的

squid反向代理

做baidu.com 和 qq.com的代理

vim /etc/squid/squid.conf
# 修改
http_port 3128
http_port 80 accel vhost vport      #保证80端口不被占用
# 之前增加的域名白/黑名单相关配置去掉
#添加行 
cache_peer 115.239.210.27 parent 80 0 originserver name=a        #代理的IP可用ping得到
cache_peer_domain a www.baidu.com                                #代理的域名 各个name不重复
cache_peer 115.236.148.160 parent 80 0 originserver name=b
cache_peer_domain b www.qq.com
cache_peer 61.172.201.194 parent 80 0 originserver name=c
cache_peer_domain c www.sina.com

测试时用windows的话,先修改hosts文件,将代理的域名指向代理服务区IP

最后更新于

这有帮助吗?