代理服务器(Proxy)
目录
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)相关推荐
- Linux下代理服务器(proxy)配置
Linux下有很多程序都只有命令行接口,对于这类程序,它们通过代理服务器(proxy)访问网络的方式也不尽相同.在本文中Easwy总结了一些常用Linux程序配置代理服务器的方法. [ 通用代理服务器 ...
- 代理服务器(Proxy)完全解析
代理服务器(Proxy)完全解析 相信,提起代理服务器(Proxy)还是有非常多的人关注的,因为无论是在线论坛(bbs)或者是新闻组里面,作为一个撰稿人,我的信箱里也经常收到询问代理服务器为何物,或者 ...
- 代理服务器 (proxy) 的使用
代理服务器的使用 (proxy) 关于 proxy 的用处,我就不多说了,大家心照不宣.如果使用VB6 的 Inet Control, proxy 的设置则极为简单: objInet.AccessTy ...
- vue代理服务器proxy配置
1.如果没有vue脚手架需先要安装脚手架 cnpm i @vue/cli -g 2.利用脚手架创建项目 vue create myproject(项目名) 3.创建完项目后,需手动在项目根目录创建vu ...
- 转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)...
在负载测试中需要考虑的的一个重要要素是思考时间(think time), 也就是在两次成功的访问请求之间的暂停时间. 有多种情形挥发导致延迟的发生: 用户需要时间阅读文字内容,或者填表,或者查找正确的 ...
- Linux_SquidProxyServer代理服务器
目录 目录 Squid proxy server Web proxy server operating principle Squid features Setup squid server Setu ...
- Squid-4.1(最新)安装及构建代理服务器
缓存代理简介 Squid作为应用层代理服务软件,主要提供缓存加速和应用层过滤控制的功能.本次试验使用的是Squid 4.1版本,和以往版本有较多不同,经过几天的摸索,终于成功实现了传统代理.透明代理及 ...
- NAT(网络地址转换)技术与代理服务器原理
一. Nat技术: NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Intern ...
- 代理服务器ip地址搜索验证软件_代理服务器与ip分类介绍
对于网络地址,我们每天上网的时候其实都会接触到,但如果不是有学习过互联网知识,普通用户是很少会将注意力放在ip地址这方面的.毕竟,我们只需要知道网络有没有响应,有没有成功连接上就可以了. 但是,随着网 ...
- 全网多种方法解决未连接到互联网 代理服务器出现问题,或者地址有误的错误
文章目录 1. 复现错误 2. 分析错误 3. 解决错误 4. 解决该错误的其他方法 5. 补充说明 1. 复现错误 今天,单位的实习生准备下载公司的代码,由于公司的代码放在gitlab上,需要内网才 ...
最新文章
- 【Qt】Qt再学习(九):并发 QtConcurrent、QFuture、QFutureWatcher
- 你可能不知道的5种 CSS 和 JS 的交互方式
- haproxy 503 service unavailable no server is avaible to handle this request
- qlabel设置换行符无效_php 字符串中的\n换行符无效、不能换行的解决方法
- Linux包管理速查表
- 数据仓如何支撑应用?
- MyBatis复习(七):MyBatis批量处理
- 直击鲲鹏开发者训练营下一城,11.20 福州见
- 读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
- ACM 学习笔记(二) 位运算、并查集、模拟、枚举、递推、递归
- javaweb+vue汽车4S店车辆维修管理系统springboot
- zblog php 安装,Zblog安装教程 zblogphp程序特色和环境要求_徐果萍博客
- 电商购物评论的情感分析
- 转载 Android端调用Caffe模型实现CNN分类
- 华硕笔记本进入pe系统-华硕电脑从U盘启动-实测有效-转载--记录用
- css表格随内容变化,css 使表格随着内容自动适应宽度
- 小米笔记本开机提示:no bootable device -- insert boot disk and press any key
- 【Java实现导出Word文档功能 XDocReport +FreeMarker】
- vim配置set nu
- 通用图床服务架构解析(百万级回源/天)
热门文章
- this的三种用法 详解
- Python基础入门:函数--阿里云天池
- GAN for Image-to-image translation 2019年文章综述
- android 判断是否安装百度地图,判断手机是否安装高德/百度地图
- 基于Tensorflow深度学习的ECG身份识别方法(二)
- 自棱镜事件,隐私保护搜索引擎DuckDuckGo流量增长600%
- 夜曲编程python_夜曲编程免费PC版-夜曲编程电脑版下载 v1.0.0--PC6电脑版
- Java读取OPC DA报错:org.jinterop.dcom.common.JIException: Access is denied. [0x80070005]
- Python 逐行读取txt文件,批量下载文件
- char类型和字符串