`
wayne173
  • 浏览: 358479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Squid 缓存代理服务器的完整配置(转)

 
阅读更多

Squid 缓存代理服务器

Squid 的作用

1.通过缓存的方式为用户提供web访问加速

2.对用户的web访问进行过滤控制

缓存代理服务器又分为普通代理服务器,透明代理服务器,和反向代理服务器。

普通代理服务即指标准的,传统的代理服务,需要客户机在浏览器中指定代理服务器的地址,端口

透明代理服务器适合企业的网关主机,客户机不需要指定代理服务器地址,端口等信息,需要设置防火墙策略将客户机的web访问数据转交给代理服务器

反向代理服务为INTERNET用户访问网络内网站点提供缓存加速。提高访问效率。

squid 缓存代理服务的软件安装包名为 squid-2.6.STABLE21-3.el5(版本可能不同),默认监听端口为TCP 3128 默认访问日志文件 :/var/log/squid/access.log 进程名为squid , 主程序:/usr/sbin/squid ,配置目录:/etc/squid 主配置文件是 /etc/squid/squid.conf

我们已经对squid有了初步的认识,现在了解一下主配置文件squid.conf 的几个常用配置项

http_port 3128 此项设定默认监听端口,可以改变IP与监听端口

cache_mem 64 MB 设定缓存大小,一般情况下建议将物理内存的1/3划给它

maximum_object_size 4096 KB 定义最大缓存对象

reply_body_max_size 10240000 allow all 访问控制规则,对响应数据做限定,如果把这个值设定为0 就表示不做限定

access_log /var/log/squid/access.log squid 为squid做访问日志

visible_hostname proxy.test.com 可见主机名,默认配置文档中并没有定义,建议设定,否则影响squid启动

cache_dir ufs /var/spool/squid 1024 16 256

(缓存文件放置位置,ufs是文件系统类型,1024指定缓存目录大小, 16 缓存空间一级子目录个数, 256 指缓存空间的二级子目录个数)

cache_mgr root@test.com 定义服务器管理员邮箱

cache_effective_user squid

ache_effective_group squid 定义squid的UID GID

error_directory /usr/share/squid/errors/Simplify_Chinese 定义错误信息显示为中文,squid错误信息支持多种语言。可以在/usr/share/squid/errors 下查看

http_access allow localhost

http_access deny all 访问控制策略,

在没有设置任何规则时,将拒绝所有客户端的访问请求

有规则但是找不到相匹配的项时,将采取与最后一条规则相反的权限,即如果最后一条规则是allow 那么就拒绝客户端的请求,否则允许该请求

ACL(Access Control List )访问控制列表,可以从客户机的IP地址,请求访问的URL/域名/文件类型/访问时间/并发请求等方面进行控制

ACL的格式是

acl 列表名称 列表类型 列表内容

acl列表的使用在squid的官方网站上有详细的介绍,下面只介绍几种常用的acl列表类型

src 基于客户端IP地址做控制, 源ip

dst 基于访问目的IP做控制

srcdomain 基于域名的源地址解析

port 基于端口控制

proto 基于协议类型做控制

browser 对浏览器的做控制 # acl notfirefox browser MOZILIA

time 基于时间做控制,acl worktime time 10:00-23:59

acl working time 0:00-5:59

(注意:time时间控制时,前一个时间点要小于后一个时间点,若是要过0点设定,就仿写成上面例子,列表名称可以一样,acl匹配时取它们的并集)

maxconn 最大并发连接数

url_regex [-i ] 统一资源,针对url做正则表达式匹配 -i 不区分大小写

acl notpdf url_regex –i ^http.*\.pdf$

urlpath_regex [-i] 可不指定前端只对url 尾部做匹配

acl notpdf urlpath_regex –i .*\.pdf$

下面先来配置一个传统的代理服务

clip_image002

要求做一个普通代理,pc机能通过squid服务器访问外网192.168.0.254的web服务,但是在18:30-8:30之间内网用户不能上网,不能访问下载以.rmvb .mp3为后缀的文件,单个文件最大不能超过10M 代理端口为8080,错误提示呈现为中文,管理员邮箱为root@test.com, 内存大小为64M, 缓存目录大小为1024M, 并为squid配置可见主机名

1 安装squid软件包

#yum install squid

2 编辑/etc/squid/squid.conf

配置可见主机名

clip_image004

指定缓存目录大小

clip_image006

配置管理员邮箱

clip_image008

定义内存大小

clip_image010

指定 缓存目录为1024M

clip_image006[1]

定义错误信息显示

clip_image012

定义最大单个文件大小

clip_image014

修改监听端口

clip_image016

最acl控制

clip_image018

3.现在 到内网pc机上将为浏览器配置代理服务,将ip指向192.168.0.72 端口指向8080

clip_image020

 

clip_image022

现在连上0.254 了测试一下你做的acl 控制吧

 

现在我们把题目修改一下,把上面的普通代理做成透明代理

1 修改squid.conf 配置文件,并重新加载该配置项

只需要修改一下监听端口

clip_image024

2.在squid主机上添加iptables 规则

clip_image026

3 客户机浏览器不需要指定代理服务器的地址,端口

clip_image028

做完透明代理访问也是一样的

clip_image030

下面再介绍一下反向代理

clip_image032

1.修改squid.conf 文件,并重启加载配置项

(cache_peer web 服务器 服务器类型 http端口 icp端口 可选项)

http_port 192.168.0.74:80 vhost 修改监听端口

cache_peer 192.168.10.2 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.3 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.4 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.5 parent 80 0 originserver weight=1 max-conn=8

2,好了现在可以验证了,在外网的客户机访问反向代理服务器192.168.0.74能够看到web提供的网页

(注意透明代理服务器和反向代理服务器不能配置在一台squid服务器上)

分享到:
评论

相关推荐

    Squid缓存代理服务器的安装与配置(普通代理 透明代理 反向代理)

    Squid缓存代理服务器的安装与配置(普通代理 透明代理 反向代理)

    squid缓存服务器的配置

    squid缓存服务器的配置,一般运营商所使用的代理服务器

    Squid代理服务器配置

    对于Web用户来说,Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率。Squid不仅支持HTTP协议,还支持FTP、gopher、SSL和WAIS等协议。和一般的代理缓存软件不同,Squid...

    Squid for windows 反向代理缓存服务器配置软件

    Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该...

    高效配置的Linux代理服务器Squid介绍

    Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性 能的同时能够无缝的访问Internet。...

    Linux下Squid配置详解 Squid代理服务器配置第1/3页

     Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid...

    linux下通过Squid反向代理搭建CDN缓存服务器的配置方法

    让电信用户直接访问Web服务器、让移动用户访问CDN代理服务器,解决移动用户访问Web服务器慢的问题具体操作:CDN代理服务器:系统:CentOS 5.5 主机名:cdn.abc.com IP:192.168.21.160 安装Squid软件,配置反向代理...

    squid命令 代理服务器守护进程

    squid命令是使用最广泛的代理服务器软件,可以节省网络带宽,提高网站的访问速度,它对服务器硬件的内存要求比较高。 它支持FTP、Gopher和HTTP协议的数据对象。 语法格式: squid [参数] 常用参数: -d 将指定...

    清除指定squid缓存文件的脚本代码分享

    squid启动之后,将在内存中建立一个哈希表,记录硬盘中缓存文件配置的情形。 对于类似http://jb51.net/index.html之类的网页,squid只会生成一个缓存文件。可以用squid附带的squidclient工具清除: squidclient -m ...

    squid3缓存服务器编译安装和高命中率配置示例

    今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己...

    搭建一个大型网站架构的实验环境(Squid缓存服务器篇)第1/2页

    Squid是一个应用级代理,在保证客户端主机和服务器主机网络连通后,需要客户端软件做相应的设置后才能使用,比如给 Internet Explorer设置代理服务器地址、端口等。WEB缓存功能对于一个规模较大、访问繁忙的网络来说...

    Linux下架设代理服务器.doc

    并假该设代理服务器上运行着某种代 理服务器软件(如squid)。假设部网中某一客户机为client.sample.(192.168.1.100)。 +-------------------+ "部网(192.168.1.*)" eth1+--------+eth0 DDN " +------------" ...

    Squid中文权威指南

    5.9 重配置运行中的squid进程 5.10 滚动日志文件 第6章 访问控制 6.1 访问控制元素 6.1.1 一些基本的ACL类型 6.1.2 ACL类型 6.1.3 外部ACL 6.1.4 处理长ACL列表 6.1.5 Squid如何匹配访问控制元素 6.2...

    squid包含htpasswd.exe

     由于Squid是基于Cache(缓存)的代理服务器,所以设置缓存的大小对优化服务器的性能是有必要的,下面来看一下如何设置cache的大小。  找到#cache_mem 8 MB这句 删掉前面的#号 将默认的8修改到需要的大小,这里的...

    squid-sslbump

    Squid ssl-bump 缓存代理一个缓存代理服务器有选择地 MITM SSL 连接来缓存内容。 目标是加快交付速度,而不是监视人。 github repo @ 提供的示例配置构建: docker build -t jamesyale/squid-sslbump .由于squid ...

    Squid集群做CDN全网加速配置分享

    主服务器群,然后在利用Squid逆向缓存web80端口来加速自己的网站.各大门户网站象163,sina,chinaitlab之类基本都是使用的这种技术,好处是大大的有.比如加速了网络和可以防黑客(因为他们见到的都是CDN的主机)这是利用...

    在varnish、squid、apache、nginx中选出一个更好的缓存服务器

    一、varnish、squid、apache、nginx的区别 1、从这些功能上。varnish和squid是专业的cache服务,而apache,nginx这些都是第三方模块完成。 2、要做cache服务的话,我们肯定是要选择专业的cache服务,优先选择squid和...

    用DNSPod和Squid打造自己的CDN (七) 配置Squid

    首先我们要明白一下squid在CDN中扮演的角色。squid在CDN中其实只是一个代理+缓存。跟一般的代理服务器类似,squid代替用户向真正有内容的服务器进行请求,并且缓存下来

Global site tag (gtag.js) - Google Analytics