Linux squid代理
代理的作用:
共享网络 ;
加快访问速度,节约通信带宽 ;
防止内部主机受到攻击 ;
限制用户访问,完善网络管理;
标准代理:
首先要在内部主机指定代理服务器的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代理的更多相关文章
- Linux实战教学笔记43:squid代理与缓存实践(二)
第6章 squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的最基本功能:通过在squi ...
- Linux实战教学笔记42:squid代理与缓存实践(一)
第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器.这种服务器不仅可以使用户可 ...
- linux初学者-squid代理篇
linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...
- Linux下squid代理缓存服务环境部署
代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用户想要下载 ...
- squid代理加用户认证
squid代理加用户认证 用authentication helpers添加身份验证 有如下几种认证方式 :=> NCSA: Uses an NCSA-style username and pa ...
- Squid代理配置
更改squid错误页面时间不对的问题解压源码包,进入此路径/usr/local/squid/share/errors/zh-cn(需要更改该目录下的所有文件find -type f |xargs se ...
- squid代理与缓存(下)
squid代理与缓存(下) 6. squid代理模式案例 6.1 squid传统正向代理生产使用案例 6.1.1 squid传统正向代理两种方案 (1)普通代理服务器 作为代理服务器,这是SQUID的 ...
- squid代理与缓存(上)
squid代理与缓存(上) 1. Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器. ...
- squid 代理服务器安装配置
ubuntu16.04 安装squid代理服务器配置 本文参考 http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html 1,删 ...
随机推荐
- NET Core应用中使用缓存
NET Core应用中使用缓存 .NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓 ...
- Scrapped or attached views may not be recycled
在使用recycleView的时候出现了错误Scrapped or attached views may not be recycled 原因: view没有被recycled,recyclerVie ...
- reStructuredText文件语法简单学习
reStructuredText 是一种扩展名为.rst的纯文本文件,通过特定的解释器,能够将文本中的内容输出为特定的格式 1. 章节标题 章节头部由下线(也可有上线)和包含标点的标题组合创建,其中下 ...
- maven springTest结合junit单元测试
1.引入相关依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifac ...
- 【腾讯云服务器】基于centos7搭建ftp服务器(vsftpd)
该博客分为三部分设置,1.ftp服务器搭建.2.防火墙设置 3.腾讯云安全组 一.ftp服务器搭建 1.1 安装vsftpd yum install vsftpd -y 1.2 启动vsftpd服 ...
- c/c++ 继承与多态 由子类向父类的转换规则
问题1:子类B可以有3种方式(public, protected, private)继承父类A,用哪种方式继承,用户代码才能把子类B的对象转换成父类A的对象呢? 只用当子类B以public方式继承父类 ...
- 二叉搜索树的最近公共祖先的golang实现
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先且 x ...
- django--use
https://docs.djangoproject.com/zh-hans/2.0/intro/
- Kafka 0.11.0.0 实现 producer的Exactly-once 语义(中文)
很高兴地告诉大家,具备新的里程碑意义的功能的Kafka 0.11.x版本(对应 Confluent Platform 3.3)已经release,该版本引入了exactly-once语义,本文阐述的内 ...
- react组件之间的通信
通过props传递 共同的数据放在父组件上, 特有的数据放在自己组件内部(state),通过props可以传递一般数据和函数数据, 只能一层一层传递 一般数据-->父组件传递数据给子组件--&g ...