配置Squid代理服务器

1. 什么是squid

Squid是一个支持HTTP、HTTPS、FTP等服务的缓存代理软件,它可以加快客户端网页浏览的速度,提高客户机的访问命中率,节省宝贵的带宽资源。squid不仅可以做正向代理,还可以利用反向代理技术提高网站访问性能,反向代理结合智能DNS解析就能实现一个最基本的CDN。

2. 搭建squid正向代理

正向代理一般用于企业内部访问外网,就是我们通常说的通过代理服务器上网,通过缓存页面数据可以节省带宽,提高上网速度。

squid官方网站为 http://www.squid-cache.org/,可以下载到最新的软件版本。

这里我们使用yum安装squid

yum install -y squid

清除squid.conf里的内容

> /etc/squid/squid.conf
vi /etc/squid/squid.conf
加入如下配置

http_port 3128
 acl manager proto cache_object
 acl localhost src 127.0.0.1/32 ::1
 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
 acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
 acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
 acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
 acl SSL_ports port 443
 acl Safe_ports port 80 8080         # http
 acl Safe_ports port 21          # ftp
 acl Safe_ports port 443         # https
 acl CONNECT method CONNECT
 http_access allow manager localhost
 http_access deny manager
 http_access deny !Safe_ports
 http_access deny CONNECT !SSL_ports
 http_access allow localnet
 http_access allow localhost
 http_access allow all
 cache_dir aufs /data/cache 1024 16 256
 cache_mem 128 MB
 hierarchy_stoplist cgi-bin ?
 coredump_dir /var/spool/squid
 refresh_pattern ^ftp:           1440    20%     10080
 refresh_pattern ^gopher:        1440    0%      1440
 refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
 refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload
 refresh_pattern .               0       20%     4320

创建缓存目录

mkdir  /data/cache

更改权限

chown -R squid:squid /data/cache

启动服务

/etc/init.d/squid start

测试:

curl -x192.168.1.1:3128 www.baidu.com

[[email protected] ~]# curl -x192.168.1.1:3128 www.163.com -I
HTTP/1.0 200 OK
Date: Fri, 28 Apr 2017 07:32:26 GMT
Server: openresty
Content-Type: text/html; charset=GBK
Vary: Accept-Encoding,User-Agent,Accept
Expires: Fri, 28 Apr 2017 07:33:46 GMT
Cache-Control: max-age=80
X-Via: 1.0 czdx86:5 (Cdn Cache Server V2.0), 1.0 xz53:4 (Cdn Cache Server V2.0)
Age: 5
X-Cache: HIT from www
X-Cache-Lookup: HIT from www:3128
Via: 1.1 cache.163.com:80 (squid), 1.0 www (squid/3.1.23)
Connection: keep-alive

返回状态码200,说明已经可以通代理服务器上网。

在ie里使用代理服务器需进行如下设置:

在IE里点[工具]->[Internet选项]->[连接]
找到"如果要为连接配置代理服器,请选择"设置",点[设置]

配置透明代理

普通代理需要在IE里设置代理服务器,比较麻烦,使用透明代理只需设置网关就OK了。

在squid服务器上做以下两步:

1) 打开端口转发
echo "1" > /proc/sys/net/ipv4/ip_forward

2)设置防火墙规则
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128

在windows电脑上配置网关,设置为代理服务器的ip地址即可直接上网

一些常用命令

squid -v  查看版本以及编译参数

squid -k check 可以检测配置文件是否有错
squid -k reconfig 可以重新加载配置
squid -z 初始化缓存目录,启动时会自动初始化

设置白名单
 acl http proto HTTP
 acl good_domain dstdomain .badu.com www.qq.com:
 http_access allow http good_domain
 http_access deny http !good_domain

设置黑名单
 acl http proto HTTP
 acl bad_domain dstdomain www.jd.com www.taobao.com
 http_access deny http bad_domain

3. 搭建squid反向代理

先准备好一台web服务器,ip为192.168.1.1,

这里为一台nginx服务器,和squid装在同一台服务器上。

修改nginx端口号

vi /usr/local/nginx/conf/nginx.conf
找到
listen 80;
改成
listen 8080;

保存退出后重启

/etc/init.d/nginx restart

配置squid

vi /etc/squid/squid.conf

找到
http_port 3128
改为
http_port 80 accel vhost vport

增加如下内容:
cache_peer 192.168.1.1 parent 8080 0 originserver name=a
cache_peer_domain a www.test.com

保存退出后重启

/etc/init.d/squid restart

如果之前增加了黑/白名单相关配置去掉;

如果是squid要代理一台web上的所有域名,那么就写成这样:

cache_peer 192.168.1.1 parent  8080 0 originserver

只需要这一行,cache_peer_domain  都可以省掉。

测试前,绑定host

vi /etc/hosts
加上
192.168.1.1 www.test.com

测试:

curl www.test.com/1.png -I

[[email protected] ~]# curl www.test.com/1.png -I
HTTP/1.0 200 OK
Server: nginx/1.10.3
Date: Wed, 26 Apr 2017 18:39:32 GMT
Content-Type: image/png
Content-Length: 4425
Last-Modified: Wed, 26 Apr 2017 18:39:28 GMT
ETag: "5900e960-1149"
Accept-Ranges: bytes
Age: 35
X-Cache: HIT from www
X-Cache-Lookup: HIT from www:80
Via: 1.0 www (squid/3.1.23)
Connection: keep-alive

返回结果说明缓存已被命中,反向代理配置成功。

时间: 2024-10-10 05:31:42

配置Squid代理服务器的相关文章

Linux系统下配置squid代理服务器的过程详解

简单记录一下Squid透明代理服务器的配置 环境:VirtualBox + CentOS 6.0 + squid-3.1.4-1.el6.i686 0.检查squid是否默认安装,没有安装的先安装 [[email protected] ~]# rpm -qa squidsquid-3.1.4-1.el6.i686 1.虚拟机添加双网卡,全部设置桥接,配置IP,eth0作为外网,eth1作为内网,注意配置文件里的网卡MAC地址要和设备匹配! [[email protected] ~]# vim /

linux下配置squid代理服务器

linux下配置squid 1.什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网.Squid主要设计用于在Unix一类系统运行. Squid的发展历史相当悠久,功能也相当完善.除了HTTP外,对于FTP与

centos7配置squid代理服务器

服务器列表: 角色 内网ip 外网ip squid服务器 192.168.8.81 192.168.8.252 web1服务器 192.168.8.83 - web2服务器 192.168.8.84 - squid服务器配置:a. 内网配置:cat /etc/sysconfig/network-scripts/ifcfg-eth0b. 外网配置:cat /etc/sysconfig/network-scripts/ifcfg-eth1c. 安装:yum -y install squidd. 修改

CentOS 6.4下Squid代理服务器的安装与配置

一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快.Squid 可以代理HTTP.FTP.GOPH

[转]CentOS 6.4下Squid代理服务器的安装与配置

一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快.Squid 可以代理HTTP.FTP.GOPH

squid代理服务器的安装和配置

CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速

构建squid代理服务器

实验拓扑图: 需求:配置iptables策略,利用SNAT共享internet 配置squid代理服务器.实现http访问的缓存加速 先用yum -y install squid.1* 安装squid代理服务器. 两块网卡:eth0 192.168.5.6/24 桥接到vm1 eth1 202.10.10.5/24 桥接到vm8 gw 202.10.10.1 web服务器是2003 server 搭建一个简单的网站做测试. ip:172.168.10.10/24 gw :172.168.10.1

2-12-配置squid代理服务器加快网站访问速度

本节所讲内容: squid服务器常见概念 squid服务器安装及相关配置文件 实战:配置squid正向代理服务器 实战:配置透明squid代理提升访问速度 实战:配置squid反向代理加速度内网web服务器访问速度 squid服务概述: 全称: squid cache,是一个流行的自由软件(GNU通用公共许可证). 主要有连个功能:  代理服务器 和 为web服务器提供缓存 应用广泛: 1. 共享网络资源,缓存万维网; 2.为web服务器前置缓存提高web服务器的访问速度; 3. 域名和其他网络

Squid代理服务器应用(传统与透明)

实验原理图 第一步:配置squid代理服务器 #远程共享并挂载源码包 [[email protected] ~]# smbclient -L //192.168.142.1 [[email protected] ~]# mount.cifs //192.168.142.1/squid /mnt #解压源码包 [[email protected] ~]# cd /mnt [[email protected] mnt]# tar zxvf squid-3.4.6.tar.gz -C /opt #安装