代理的作用:

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

标准代理:

  首先要在内部主机指定代理服务器的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. Android 图片Bitmap,drawable,res资源图片之间转换

    一.知识介绍 ①res资源图片是放在项目res文件下的资源图片 ②BitMap位图,一般文件后缀为BMP,需要编码器编码,如RGB565,RGB8888等.一种逐像素的显示对象,其执行效率高,但缺点也 ...

  2. leetcode-48.旋转图像

    leetcode-48.旋转图像 point: 数组 题意 给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维 ...

  3. Maven的基础了解与使用

    目录 Maven的介绍: 什么是Maven: 为什么要学习maven? 安装与配置: 下载: 配置环境变量 测试安装结果: Maven概念: 坐标 仓库 入门示例 创建maven工程: 添加依赖 Ma ...

  4. JIRA笔记(一):安装部署JIRA

    (一)     说明 说明JIRA的安装及破解. 操作系统:WIN 10 数据库:Oracle 12C R2(这个版本的jira,atlassian建议的是 12C R1,不过R2也能用,其他版本不清 ...

  5. 测者的测试技术手册:自动化单元工具EvoSuie的代码覆盖报告

    EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行.得到了Google和Yourkit的支持. ...

  6. layui中弹出层的两种表达方式

    方式一: 定义js中定义html变量 方式二: 设置div :hidden:hidden 布局 数据表格自适应大小: 代码: <style> .btn-container { margin ...

  7. topjui中datagrid增删改查

    1.掌握datagrid的创建方式在html中直接定义与在js中定义 可参考easyui的官方文档:http://www.jeasyui.net/plugins/183.html 2.实现代码如下:重 ...

  8. 阿里巴巴开源的Asynchronous I/O Design and Implementation

    Motivation I/O access, for the most case, is a time-consuming process, making the TPS for single ope ...

  9. Flink Event Time Processing and Watermarks(文末有翻译)

    If you are building a Realtime streaming application, Event Time processing is one of the features t ...

  10. TCP/IP及内核参数优化调优

    Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...