当前位置:首页 > CN2资讯 > 正文内容

squid 代理和缓存

3天前CN2资讯

于2017.04.21 从新浪博客搬迁过来

----------------------------------------------------------------


  在现在的企业中squid 作为代理服务器和缓存服务器使用,在小型的环境中squid可以作为代理服务器来供单位用户上网使用;在大型的环境中squid又作为缓存服务器来对web进行加速。常见的有正向代理、透明代理、反向代理;

 

 

安装squid

安装可以使用yum安装,也可以使用源码包编译安装;无论何种安装方式都是非常简单的,下面使用yum自动安装:

#yum –y install squid

安装好后squid目录在/etc/squid,配置文件为/etc/squid/squid.conf

在这配置文件中可用的参数并不多,常见的如下:

http_port 3128                  代理端口

cache_mem 8 MB            缓存大小

cache_dir ufs /var/spool/squid 100 16 256         缓存文件路径

access_log /var/log/squid/access.log squid        日志路径及用户

maximum_object_size 4096 KB     缓存单个文件最大4M

reply_body_max_size 10240000 allow all  下载文件最大不超过10M    这里是字节为单位10240000字节==10M

visible_hostname           squid服务器主机名

 

 

 

一、squid正向代理

正向代理通常用在小型的环境中,用来代理内网的用户进行上网,配置很简单,将cache_mem和 cache_dir 开启,修改代理端口(也可以是默认的3128);然后启动squid

配置代理端口

http_port 172.16.0.2:3128

配置缓存大小和缓存目录

cache_mem 16 MB

cache_dir ufs /var/spool/squid 100 16 256

建立acl控制访问

acl sina src 172.16.0.0/24

http_access allow sina

启动squid

#squid –k parse          检查配置文件是否有错误

#service squid start

 

在初次启动的时候,squid会初始化缓存目录,在服务器起来后可以查看缓存目录

#ls /var/spool/squid

#netstat –nap | grep squid

 

客户端测试


在浏览器中配置代理服务器





而实际上客户端本身根本是无法通讯的,所以这里正向代理设置成功了,将代理内网进行上网。




查看缓存命中HIT 表示缓存  MISS 表示未缓存



 

二、反向代理

       正向代理是代理内网用户访问外网,而反向代理则是代理外网的用户来访问内网的服务器,并将内容进行缓存,提高用户访问速度;设置很简单在正向代理的基础上进行修改点即可。

 

修改代理端口和ip

http_port 192.168.5.155:80 vhost


设置后端源服务器

cache_peer web服务器 服务器类型 httpd端口 icp端口 [可选项]

cache_peer 172.16.0.4 parent 80 0 originserver weight=5 max-conn=30
cache_peer 172.16.0.5 parent 80 0 originserver weight=3 max-conn=30


这里介绍一下这些参数

172.16.0.4           后端web服务器或者其他squid代理服务器

originserver        父服务器(就是源服务器,当没有缓存的时候去那里取数据)

sibling                  兄弟服务器(在有多个squid服务器时,可以设置兄弟服务器,当请求过来本机没有缓存时,先去兄弟服务器查找缓存)

weight                 权重,后端服务器可以设置权重,一定程度实现负载均衡

max-conn            squid打开到邻居cache的同时连接的数量进行限制

 

保存这些配置,然后让squid重新读取配置文件

#squid –k reconfig

客户端测试


客户端与后端web服务器并不能通讯




 

 

三、用户认证

       在企业中有时候有些内部的网站或者管理后台,只希望公司自己的员工能够访问,其他人则不能访问,这时候可以加一个用户认证来控制谁能访问。默认squid是不带认证程序的,可以通过外部认证程序来实现,下面介绍ncsa认证,ncsa是Squid源代码包自带的认证程序之一,实现步骤如下:

 

首先我们先找到ncsa程序所在位置

#find / -name ncsa_auth

/usr/lib64/squid/ncsa_auth

在squid.conf 中配置认证程序路径和密码文件

auth_parm basic program /usr/lib64/squid/ncsa_auth /etc/squid/etc/passwd

通过htpasswd 程序来创建密码文件

mkdir -p /etc/squid/etc/

htpasswd -c /etc/squid/etc/passwd test    #以后在添加用户时不需要 -c

配置acl访问控制

acl user_name proxy_auth REQUIRED

http_access allow user_name

可以使用单词"REQUIRED"作为特殊值去匹配任意用户名。假如squid 不能查明用户名,ACL 不匹配。

acl name proxy_auth test             #acl name proxy_auth REQUIRED

http_access allow name


客户端测试,需要输入用户名密码







 

四、透明代理

       透明代理需要结合iptabls来实现,通过iptables转发数据,配置也很简单,只需要将squid的代理端口修改一下即可

http_port 172.16.0.2:3128 transparent

 

开启路由转发

echo "1" > /proc/sys/net/ipv4/ip_forward

配置iptabls 规则(不知是否正确,网上抄袭而来,对iptables很陌生)

iptables -t nat -A PREROUTING -i eth1 -s 172.16.0.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128

 

客户端将网关设置成172.16.0.2 即可


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/24868.html

    分享给朋友:

    “squid 代理和缓存” 的相关文章

    bbtec:高性能海外VPS的优质选择,适合联通用户的流媒体与在线游戏体验

    bbtec产品介绍 bbtec,这个在中国联通用户中逐渐崭露头角的海外VPS选择,无疑是一条连接世界的优质线路。作为软银线路,它专为追求高性能网络体验的用户设计,尤其适合频繁访问国外网站的朋友。bbtec具备低延迟、大带宽和快速下载速度的显著特点,特别是在流媒体应用的需求日益增长的今天,bbtec显...

    VPS在线测速:如何选择合适的虚拟专用服务器

    在现今的网络环境中,选择合适的VPS(虚拟专用服务器)是每位用户尤其是中小企业和开发者需要重点关注的事项之一。VPS在线测速的重要性体现在很多方面,尤其是在评估服务性能时,测速显得尤为关键。通过测速脚本,用户可以全面了解VPS的网络状况和系统性能,从而在购买时做出更明智的决策。 想象一下,你已经在选...

    六六云使用教程及价格比较,让你轻松选择合适的云服务

    六六云使用教程 六六云,作为一个备受欢迎的云服务平台,提供原生IP和住宅IP VPS服务器,适合多种需求,比如电商、游戏和流媒体等。选择合适的VPS套餐,是使用六六云的第一步。我们可以从多个方面进行比较,了解各个地区的服务器优缺点。比如,美国的服务器在速度上表现出色,但价格可能较高,而香港服务器则在...

    解决远程登录Windows Server密码错误的有效步骤

    在尝试远程登录Windows Server时,密码错误是一个常见的问题。遇到这种情况,我通常首先会彻底检查一下用户名和密码的输入。看似简单的步骤实际上可能会被忽视。我会确保输入的每个字符都是正确的,尤其是大小写和特殊字符,确保没有打错。这样的细节容易被忽略,却常常是导致失败登录的主因。 之后,我会关...

    高防服务器:企业网络安全的坚固堡垒

    在这个数字化日益加深的时代,我们的生活、工作和娱乐都越来越依赖于互联网。随之而来的,则是网络安全问题的加剧。其中,高防服务器作为提升网络安全性的重要工具,逐渐引起大家的关注。 高防服务器,顾名思义,就是专门设计用来抵御各种网络攻击,特别是DDoS攻击的服务器。简而言之,它就像是一个坚固的堡垒,能够有...

    ROG主机性能评测与游戏体验分析

    ROG(Republic of Gamers)是华硕旗下专注于游戏硬件及相关产品的品牌。这个名称已经成为游戏玩家心目中的一种象征。ROG致力于为玩家提供顶尖的性能和卓越的用户体验,涵盖了从游戏主机到显示器、耳机等全系列的产品。ROG的产品不仅在技术上不断创新,还在设计上追求独特,吸引了众多游戏爱好者...