代理的作用:

  共享网络 ;
  加快访问速度,节约通信带宽 ;
  防止内部主机受到攻击 ;
  限制用户访问,完善网络管理;

标准代理:

  首先要在内部主机指定代理服务器的IP和port,然后通过代理服务器访问外部资源,代理服务器收到访问请求后,会查询本地是否已缓存这个资源,如果存在直接响应给内部机器;如果本地缓存没有,则代理服务器去目标网站请求资源,然后响应给内部主机,并且缓存到本地一份。

透明代理:

  透明代理与标准代理功能完全相同,只是代理方式不同,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口),需要内部主机将网关指向代理服务器。

反向代理:

  互联网用户向WEB服务器发送请求,如果请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发给用户。这种方式通过降低了WEB服务器的请求数从而降低了WEB服务器的负载。

安装:

  可直接yum安装

  yum install -y squid

参数配置:

  acl:acl ACLNAME ACLTYPE PARAM1 PARAM2...

    eg:acl Safe_ports port 443 80 21

    • src:客户端的p
    • dst:目标server的ip
    • srcdomain:源URL
    • dstdomain:目标server的URL
    • port:端口号
    • proto:通信协议
    • http_status:http状态
    • method:方法
    • url_regex:URL规则表达式匹配
    • urlpath_regex:URL-path规则表达式匹配,略去协议和主机名
    • maxconn:单一IP的最大连接数

  http_access:http_access allow|deny [!]ACLNAME

    对设定的aclname加上权限,禁止或允许aclname

    eg:http_access deny !Safe_ports  #禁止除了Safe_ports以外的端口

  http_port:http_port 3128

    squid的工作端口

  cache_mem:cache_mem 512 MB

    指定用于缓存的内存大小

  cache_dir:cache_dir ufs Dirname Mbytes L1 L2 [options] 设置缓存目录

    eg:cache_dir ufs /app/squid 5000 16 256

    ufs:squid的储存格式

    Dirname :指定缓存目录

    Mbytes:可以使用磁盘的大小

    L1:一级子目录的数量

    L2:二级子目录的数量

  refresh_pattern:refresh_pattern regex min percent max 设置缓存过期时间(分钟为单位)

    如果时间小于min,缓存没有过期

    如果时间小于(max-min)*percent,也没有过期

    否则缓存是stale

    eg:refresh_pattern .cvd$       720     0%  1080

查询squid情况
  squidclient -p 3128 mgr:info

下面以代理yum源为例,别的机器可以通过它安装yum包,yum源为中国科技大学镜像站。

squid server端

acl localnet src 172.0.0.0/8
acl Safe_ports port 443 80 21
acl http proto HTTP FTP
acl CONNECT method CONNECT
acl web dstdomain .ustc.edu.cn  #设置中国科技大学镜像网站 http_access deny !Safe_ports
#http_access deny CONNECT
http_access deny !web
http_access allow web
http_access allow localnet
http_access deny all
http_port 3128 cache_mem 512 MB
#缓存目录 后面的是缓存的大小 二级目录和三级目录数量
cache_dir ufs /app/squid 5000 16 256
#设置squid的数据堆目录
coredump_dir /app/squid #expire time minute min percent max
#if < min Cache is refresh
#elif < (max-min)*percent Cache is refresh
#else Cache is stale
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

客户端

#vim /etc/yum.conf
proxy=http://172.30.100.111:3128

或者定义全局http_proxy

#vim /etc/profile
export http_proxy=http://172.30.100.111:3128  #添加代理ip和port
export https_proxy=https://172.30.100.111:3128  #https
#source /etc/profile

如果客户端可以安装yum包,证明配置无误!

Linux squid代理的更多相关文章

  1. Linux实战教学笔记43:squid代理与缓存实践(二)

    第6章 squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的最基本功能:通过在squi ...

  2. Linux实战教学笔记42:squid代理与缓存实践(一)

    第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...

  3. linux初学者-squid代理篇

     linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...

  4. Linux下squid代理缓存服务环境部署

    代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载 ...

  5. squid代理加用户认证

    squid代理加用户认证 用authentication helpers添加身份验证 有如下几种认证方式 :=> NCSA: Uses an NCSA-style username and pa ...

  6. Squid代理配置

    更改squid错误页面时间不对的问题解压源码包,进入此路径/usr/local/squid/share/errors/zh-cn(需要更改该目录下的所有文件find -type f |xargs se ...

  7. squid代理与缓存(下)

    squid代理与缓存(下) 6. squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的 ...

  8. squid代理与缓存(上)

    squid代理与缓存(上) 1. Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器. ...

  9. squid 代理服务器安装配置

    ubuntu16.04 安装squid代理服务器配置 本文参考 http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html 1,删 ...

随机推荐

  1. Dynamics 365 Online-Security Updates On TLS 1.2

    不仅仅是Dynamics 365,现在MS许多产品都开始主推使用TLS1.2,所以在日常开发中,需要注意这部分的改动. 如果访问某个服务,出现错误信息类似于“Could not create SSL/ ...

  2. H-ui框架信息图标点击跳出页面问题

    在html中为消息a标签添加id: 在static/h-ui/js/H-ui.min.js添加事件:

  3. [Web][DreamweaverCS6][高中同学毕业分布去向网站+服务器上挂载]一、安装与破解DreamweaverCS6+基本规划

    DreamweaverCS6安装与破解 一.背景介绍:同学毕业分布图项目计划简介 哎哎哎,炸么说呢,对于Web前端设计来说,纯手撕html部分代码实在是难受. 对于想做地图这类的就“必须”用这个老工具 ...

  4. dede后台删除文章后台还有分页显示解决方法

    打开dede目录中content_list.php 大概在100行左右 $sql = "SELECT COUNT(*) AS dd FROM `#@__arctiny` $tinyQuery ...

  5. Linux 中磁盘阵列RAID10配置

    首先,了解一下RAID是什么?(百度所得) 独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地 ...

  6. bug管理工具之禅道的测试模块的使用

    https://www.cnblogs.com/evablogs/p/6785017.html 角色:产品经理PO,项目经理PM,开发,测试 测试任务: bug: 1.维护bug视图模块:[测试]-[ ...

  7. local_irq_disable和disable_irq的区别

    local_irq_disable: local_irq_disable的功能是屏蔽当前CPU上的所有中断,通过操作arm核心中的寄存器来屏蔽到达CPU上的中断,此时中断控制器中所有送往该CPU上的中 ...

  8. SQLServer之CHECK约束

    CHECK约束添加规则 1.CHECK 约束用于限制列中的值的范围. 2.Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Ch ...

  9. socketServer并发处理socket

    socketserver简单介绍 ''' socketserver:是对socket的封装,实现并发处理 前两个TCP,UDP常用,后两个不常用 ''' import socketserver soc ...

  10. 【Teradata SQL】禁用和启用数据库用户登录

    1.禁用数据库用户登录 禁用登录后,再次登录会报用户或密码错误.执行命令如下: //使用dbc用户执行SELECT 'REVOKE LOGON ON ALL FROM '||USERNAME||';' ...