1. 代理

代理也被叫做网络代理,是一种比较特殊的网络服务,允许一个终端(通常指客户端)通过这个服务与另一个终端(通常指服务器端)进行非直接的连接。

例如:一些网关、路由器等网络设备都具备网络代理的功能。

代理服务有利于保障网络终端的隐私或者安全,可以在一定程度上阻止网络攻击(因为通过代理,可以隐藏真正的服务器端/客户端)

2. 正向代理

正向代理时,由客户端发送对某一个目标服务器的请求,代理服务器在中间将请求转发给该目标服务器,目标服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

在使用正向代理时,客户端需要配置代理服务的IP地址、端口号、以及相关的账号密码。

2.1正向代理的过程:

  1. 搭建一个属于客户端的代理服务器
  2. 客户端发送请求到代理服务器
  3. 代理服务器发送请求到目标服务器 (在目标服务器看来他的服务对象就是代理服务器,隐藏了客户端的存在
  4. 目标服务器将数据返回到代理服务器
  5. 代理服务器再将数据返回给客户端

如上图所示:客户端:actor 正向代理服务器:服务器A

​ 目标服务器:服务器C

2.2正向代理的用途:

隐藏客户端的地址:对于目标服务器而言,代理服务器代表了客户端,所以在服务器上,看不到原始客户端的IP地址和端口号

客户端访问控制:可以集中部署访问策略在代理服务器上,限制客户端的访问行为,记录客户端访问记录。

提高网络利用率:代理服务器可以设置一个资源缓冲区,当转发请求服务器的信息给客户端时,同时也将其保存到缓冲区中作为备份,当其他的客户端发出访问时, 先在资源缓冲区查找,如果有相同资源,则直接由缓冲区中取出资源,传给客户端,提高了网络利用率,减少代理服务器对同一资源的重复访问。

3.反向代理

服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知代理服务器的IP地址,而不知道在代理服务器后面的服务器集群的存在。

3.1反向代理的过程:

  1. 客户端发送请求到目标服务器(访问的其实是反向代理服务器,但用户不知道
  2. 反向代理服务器发送请求到真正的目标服务器
  3. 真正的目标服务器将数据返回给反向代理服务器
  4. 反向代理服务器再将数据返回给客户端

如上图所示:客户端:local 反向代理服务器:www.baidu.com

​ 目标服务器:server1,server2,server3等组成的集群

3.2反向代理的用途:

负载均衡:如果服务器集群中有负荷较高者,反向代理服务器通过URL重写,根据连线请求从负荷较低者获取所需相同的资源。可以有效降低服务器压力,增加服务器稳定性

隐藏服务器的地址:对于客户端而言,反向代理服务器就是服务器,从而对客户端隐藏目标服务器的IP地址和端口号。

加密/SSL加速:将SSL加密工作交由配备了SSL硬件加速器的反向代理来完成。提供缓存服务,加速客户端访问。

4.正向代理和反向代理的区别

4.1 隐藏信息的不同

正向代理隐藏了客户端的IP和端口号

反向代理隐藏了服务器的IP和端口号

4.2 对应条件不同

正向代理是1:1或者是N:1的

一个/多个客户端通过正向代理服务器访问一个服务器端

反向代理是1:1或者是1:N的

一个客户端通过反向代理服务器访问多个服务器端

代理,正向代理和反向代理相关推荐

  1. 什么是正向代理?什么是反向代理?

    代理即网络代理,它是介于用户与互联网之间的中介,就像一个附加的安全层,可以帮助隐藏用户信息,一定程度上还能起到阻止网络攻击,保障用户安全的作用.随着互联网的发展,许多业务的顺利开展都离不开代理IP的应 ...

  2. 【网络编程】多个服务器的情况:nginx实现反向代理、nginx基于反向代理实现负载均衡

    如果我们有多个服务器,比如我们只有一个域名:我们可以利用其中一台服务器,通过nginx为这一个域名实现反向代理:进一步,我们可以利用这多台服务器,为这一个域名基于nginx的反向代理实现负载均衡. 文 ...

  3. nginx反向代理打印日志_nginx反向代理笔记

    课前回顾 mysqladmin -uroot password 1#给root用户密码(必须要做) mysql -uroot -p1 create database wp;#创建数据库 create ...

  4. 正向代理和反向代理有什么区别?什么是正向代理?什么是反向代理?正向代理和反向代理详解。

    一.正向代理: 当用户想访问某一网址时,用户先访问代理服务器,然后由代理服务器向目标网址发送请求最终将数据返回代理服务器,最后代理服务器将数据返回给用户这一过程我们称之为正向代理. 正向代理它代理了客 ...

  5. squid缓存服务器 ACL访问控制 传统代理 透明代理 squid日志分析 反向代理

    缓存代理概述 Squid提供了强大的代理控制机制,通过合理的设置ACL,并进行限制,可以针对源地址.目标地址.访问的URL路径.访问的时间等条件进行过滤. 作为应用层的代理服务器软件,Sqiod主要提 ...

  6. Nginx反向代理——简单体验Nginx反向代理功能

    一.引言 从Nginx入门学习开始.到现在所讲的Nginx反向代理.我们的Nginx学习已经进入白热化状态,前面所学只是铺垫,真正在公司的业务场景中Nginx绝大数用来反向代理+负载均衡所用.相信大家 ...

  7. docker安装nginx规范所有项目的反向代理(一个项目一个反向代理的conf配置文件)

    背景 centos7安装nginx比较麻烦,还是docker安装比较香. dokcer安装nginx比较简单,而且教程很多,那为什么还要总结? 这篇文章主要是规范化nginx对项目的反向代理,明显的特 ...

  8. Nginx代理支持GRPC的反向代理和负载均衡配置

    Nginx代理gRPC反向代理和负载均衡配置 linux版本安装 一.准备和安装 #指定目录安装( /home/yyt/nginxgrpc) mkdir /home/yyt/nginxgrpc cd ...

  9. 轻松理解正向代理与反向代理

    点击蓝色"程序猿DD"关注我哟 我知道有很多专注于业务研发的童鞋,经常搞不清"正向代理"与"反向代理"这两个东西.很多时候,因为这些东西的应 ...

  10. 正向代理反向代理 简(fu)明(za)解释

    最近写的东西越来越偏向Web程序员了··· 你想读懂本篇,就要知道什么是Web服务器--装在世界上某个机房里某台机器里某个操作系统里的一个,对外(公网或者你能访问)服务各种你需要的信息的软件! 它可以 ...

最新文章

  1. 【译】TCP Implementation in Linux
  2. 在OpenCV下写的直方图匹配(直方图规定化)C++源码!
  3. cppunit helloworld详尽篇
  4. flash写保护原理_老司机带路:LPC82x 存储器及读写保护 手到擒来!
  5. kcbzps oracle_快速进行Oracle安装及配置
  6. 莱芜长运公共交通有限公司简介
  7. linux shell运行脚本命令行参数,shell脚本命令行参数简介
  8. 查看Linux内核版本、系统版本命令
  9. 愿岁月可回首,从家族营销到Android开发
  10. 洛谷月赛 P3406 海底高铁
  11. secsetupwizard以停止,三星手机恢复出厂设置之后,出现SecSetupWizard已停止的错误...
  12. nekohtml资料
  13. 可依简易无需数据库影视源码
  14. 机械加工工艺师手册_这些机械加工工艺,你见过吗?
  15. 计算机桌面为什么没有语言栏了,电脑还原桌面的时候语言栏里怎么什么都没有了,只有到打字的时候才显示 ,这是为什么啊...
  16. 看到了一篇文章 ,很受感动 .
  17. pwm脉宽调制c语言程序,MCS-51系列单片机C语言编程PWM脉宽调制器程序模板
  18. 4 JWS 的签名方式
  19. SQL 更新语句:Update ... set ... from ...
  20. 浣溪沙·残雪凝辉冷画屏

热门文章

  1. java 百万数据查询_java一次性查询几十万,几百万数据解决办法
  2. 关于旅行社网站项目网页布局的设计思路
  3. 量子信息提供后摩尔时代技术,超导量子电路中量子生成对抗学习
  4. user和userdebug的应用签名在哪里配置?
  5. [Oracle]-[OCP]-申请纸质版OCP证书
  6. K邻近算法(K-NN)
  7. 搜索下半场:微信要做大搜索吗?
  8. 一张图了解常见色彩空间及其关系
  9. 关于QQ群头像以及微信讨论组头像的工具类
  10. XP计算机管理员账户隐藏了怎么办,xp administrator隐藏如何找回解决方案