目录

1.什么是代理服务器

2.代理服务器的作用

3.代理服务器的工作流程

4.安装代理服务器软件及配置文件解析(squid)

5.正向代理

6.修改数据存放位置

7.设置磁盘使用阈值


"代理"两字顾名思义就是以代理人的身份去帮助其他人取得所需要的东西!!!

而它在网络中如同我们现实生活中一样,当用户要求访问网络资源的时候,而直接又不能上网,于是用户会主动找到到Proxy,Proxy就会前往用户所需要的目的地获取到相应的信息并返回给客户端。

2.代理服务器的作用

(1)缓存功能,提高用户访问速度

(2)对内部网络客户端进行权限限制

(3)比防火墙有更高的过滤功能

主要透过 Proxy 的服务程序 (daemon) 提供网络代理的任务,因此 Proxy 能不能进行某些工作,与该服务的程序功能有关。 举例来说,如果你的 Proxy 并没有提供邮件或 FTP 代理,那么你的客户端就是无法透过Proxy 去取得这些网络资源。 主要运作的行为在 OSI 七层协议的应用层部分 (所谓的比较"高阶"之意)。

3.代理服务器的工作流程

1.Cilent端向Proxy服务器端发送一个数据请求包

2.Proxy服务器会对比这个数据包的“来源”和数据包的目的地是否“合法”,如果合法那么Proxy服务器端会帮忙取得数据(对比政策),如果不合法(被定义规则拒绝)将会拒绝为Cilent提供请求。

3.Proxy服务器会检查自己的缓存数据(新的数据在内存里,旧的数据则放置在硬盘上),如果有Cilent所需的资源,直接将数据取出,而不会向Internet获取数据。

4.Proxy端向Internet上取得相关信息

5.返回给Cilent段

优点:

节省网络带宽,降低网络负载

已较短的路径取得网络数据

通过上层代理服务器,达到数据分流的效果

缺点:

容易被人利用进行非法操作

可能会取得旧的错误数据

4.安装代理服务器软件及配置文件解析(squid)

/etc/squid/squid.conf                        //主配置文件

/etc/squid/mime.conf                        //设定 squid 所支持的 Internet 上面的文件格式

/usr/sbin/squid                                  //squid主程序

/var/spool/squid                                //squid缓存放置的目录

yum -y install squid                           //安装squid程序

默认端口:3128

主配置文件解析

先定义acl(访问控制列表),在加载访问控制列表

ACL规则定义格式: acl + 规则名 + 类型 + 目标

规则名:自定义

类型:src //源地址

dst //目的地址

srcdomain //源域

dstdomain //目的域

url_regex URL //正则表达式(字符串部分)

urlpath_regex URL //正则表达式中的路径

time [星期] [时间段]

S (Sunday,星期日) M(Monday,星期一) T(Tuesday,星期二) W(Wednesday,星期三)

H(Thursday,星期四) F(Friday,星期五) A(Saturday,星期六)

时间段的表示方式是: XX:00-YY:00 如: 20:00-22:00

maxconn 客户端的最大连接数

匹配规则格式:http_access + 动作 + 规则名

动作:

deny //拒绝

allow //允许

定义格式不分前后,匹配规则分前后顺序,如果要定义一个具体的IP地址那么后面要加上/32

acl xx acl 0.0.0.0/0

http_accless allow xx //允许所有ip访问

http_port 3128 //默认监听端口

cache_mem 64M //内存缓存区大小

cache_dir ufs /var/spool/squid 200 16 256 //硬盘缓存大小

cache_effective_user squid //设置缓存的有效用户

cache_effective_group squid //设置缓存的有效用户组

cache_access_log /var/log/squid/access.log //访问日志文件的保存路径

cache_log /var/log/squid/cache.log //缓存日志文件的保存路径

visible_hostname linuxprobe.com //设置Squid服务器的名称

cache deny test //默认都是做缓存的,而这条命名就是不做缓存

cache_men 10 MB //从硬盘中划10MB出来存放“热门数据”

这是“linux就该这么学”这本书的原话,大家可以去借鉴

5.正向代理

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户

通过squid服务让客户端上网(默认已安装squid服务)

服务端

vim /etc/squid/squid.conf

iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT

客户端

我这里使用的Firefox浏览器

然后测试一下能不能上网

6.修改数据存放位置

cache_dir ufs /xx 100 16 216

mkdir /xx

改了之后还不能马上运行,因为selinux的安全上下文不同会被selinux给阻止运行,还用把所有组和所有者改为squid的。

7.设置磁盘使用阈值

cache_swap_high 95

cache_swap_low 90

这条命令代表当磁盘使用到95%是,会将旧的缓存数据删除到剩下磁盘的90%

代理服务器(Proxy)相关推荐

  1. Linux下代理服务器(proxy)配置

    Linux下有很多程序都只有命令行接口,对于这类程序,它们通过代理服务器(proxy)访问网络的方式也不尽相同.在本文中Easwy总结了一些常用Linux程序配置代理服务器的方法. [ 通用代理服务器 ...

  2. 代理服务器(Proxy)完全解析

    代理服务器(Proxy)完全解析 相信,提起代理服务器(Proxy)还是有非常多的人关注的,因为无论是在线论坛(bbs)或者是新闻组里面,作为一个撰稿人,我的信箱里也经常收到询问代理服务器为何物,或者 ...

  3. 代理服务器 (proxy) 的使用

    代理服务器的使用 (proxy) 关于 proxy 的用处,我就不多说了,大家心照不宣.如果使用VB6 的 Inet Control, proxy 的设置则极为简单: objInet.AccessTy ...

  4. vue代理服务器proxy配置

    1.如果没有vue脚手架需先要安装脚手架 cnpm i @vue/cli -g 2.利用脚手架创建项目 vue create myproject(项目名) 3.创建完项目后,需手动在项目根目录创建vu ...

  5. 转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)...

    在负载测试中需要考虑的的一个重要要素是思考时间(think time), 也就是在两次成功的访问请求之间的暂停时间. 有多种情形挥发导致延迟的发生: 用户需要时间阅读文字内容,或者填表,或者查找正确的 ...

  6. Linux_SquidProxyServer代理服务器

    目录 目录 Squid proxy server Web proxy server operating principle Squid features Setup squid server Setu ...

  7. Squid-4.1(最新)安装及构建代理服务器

    缓存代理简介 Squid作为应用层代理服务软件,主要提供缓存加速和应用层过滤控制的功能.本次试验使用的是Squid 4.1版本,和以往版本有较多不同,经过几天的摸索,终于成功实现了传统代理.透明代理及 ...

  8. NAT(网络地址转换)技术与代理服务器原理

    一.    Nat技术: NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Intern ...

  9. 代理服务器ip地址搜索验证软件_代理服务器与ip分类介绍

    对于网络地址,我们每天上网的时候其实都会接触到,但如果不是有学习过互联网知识,普通用户是很少会将注意力放在ip地址这方面的.毕竟,我们只需要知道网络有没有响应,有没有成功连接上就可以了. 但是,随着网 ...

  10. 全网多种方法解决未连接到互联网 代理服务器出现问题,或者地址有误的错误

    文章目录 1. 复现错误 2. 分析错误 3. 解决错误 4. 解决该错误的其他方法 5. 补充说明 1. 复现错误 今天,单位的实习生准备下载公司的代码,由于公司的代码放在gitlab上,需要内网才 ...

最新文章

  1. 【Qt】Qt再学习(九):并发 QtConcurrent、QFuture、QFutureWatcher
  2. 你可能不知道的5种 CSS 和 JS 的交互方式
  3. haproxy 503 service unavailable no server is avaible to handle this request
  4. qlabel设置换行符无效_php 字符串中的\n换行符无效、不能换行的解决方法
  5. Linux包管理速查表
  6. 数据仓如何支撑应用?
  7. MyBatis复习(七):MyBatis批量处理
  8. 直击鲲鹏开发者训练营下一城,11.20 福州见
  9. 读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
  10. ACM 学习笔记(二) 位运算、并查集、模拟、枚举、递推、递归
  11. javaweb+vue汽车4S店车辆维修管理系统springboot
  12. zblog php 安装,Zblog安装教程 zblogphp程序特色和环境要求_徐果萍博客
  13. 电商购物评论的情感分析
  14. 转载 Android端调用Caffe模型实现CNN分类
  15. 华硕笔记本进入pe系统-华硕电脑从U盘启动-实测有效-转载--记录用
  16. css表格随内容变化,css 使表格随着内容自动适应宽度
  17. 小米笔记本开机提示:no bootable device -- insert boot disk and press any key
  18. 【Java实现导出Word文档功能 XDocReport +FreeMarker】
  19. vim配置set nu
  20. 通用图床服务架构解析(百万级回源/天)

热门文章

  1. this的三种用法 详解
  2. Python基础入门:函数--阿里云天池
  3. GAN for Image-to-image translation 2019年文章综述
  4. android 判断是否安装百度地图,判断手机是否安装高德/百度地图
  5. 基于Tensorflow深度学习的ECG身份识别方法(二)
  6. 自棱镜事件,隐私保护搜索引擎DuckDuckGo流量增长600%
  7. 夜曲编程python_夜曲编程免费PC版-夜曲编程电脑版下载 v1.0.0--PC6电脑版
  8. Java读取OPC DA报错:org.jinterop.dcom.common.JIException: Access is denied. [0x80070005]
  9. Python 逐行读取txt文件,批量下载文件
  10. char类型和字符串