详解正向代理与反向代理
1.正向代理
1.1 概念
正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求,将获得的内容返回给客户端。正向代理的情况下,客户端必须要进行一些特殊的设置才能使用。
1.2 特点
- 正向代理需要主动设置代理服务器ip或者域名进行访问,由设置的服务器ip或者域名去访问内容并返回
- 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
1.3 使用场景
正向代理的典型用途是为防火墙内的局域网客户端提供访问服务器的途径,正向代理还可以使用缓冲特性减少网络利用率。
- 科学上网(翻墙)
有时候,用户想要访问某国外网站,该网站无法在国内直接访问,但是我们可以访问到一个代理服务器,这个代理服务器可以访问到这个国外网站。这样呢,用户对该国外网站的访问就需要通过代理服务器来转发请求,并且该代理服务器也会将请求的响应再返回给用户。这个上网的过程就是用到了正向代理。
1.4 用途
- 突破访问显示:通过代理服务器,可以突破自身ip访问限制,访问国外网站等
- 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度
- 隐藏客户端真实ip:上网者可以通过正向代理的方法隐藏自己的ip,免受攻击
2.反向代理
2.1 概念
反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。
对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置。
2.2 特点
- 正向代理需要配置代理服务器,而反向代理不需要做任何设置。
- 反向代理是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。
2.3 使用场景
反向代理的典型用途是将防火墙外的服务器提供给客户端访问,反向代理还可以为后端的多台服务器提供负载均衡,或者为后端较慢的服务器提供缓冲服务。
2.4 用途
- 隐藏服务器真实ip:使用反向代理,可以对客户端隐藏服务器的ip地址
- 负载均衡:反向代理服务器可以做负载均衡,根据所有真实服务器的负载情况,将客户端请求分发到不同的真实服务器上
- 提高访问速度:反向代理服务器可以对静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度
- 提供安全保障:反向代理服务器可以作为应用层防火墙,为网站提供对基于web的攻击行为(例如DoS/DDoS)的防护,更容易排查恶意软件等。还可以为后端服务器统一提供加密和SSL加速(如SSL终端代理),提供HTTP访问认证等。
3.正向代理和反向代理的异同
3.1 相同点
正向代理和反向代理所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端。
3.2 不同点
- 正向代理是客户端的代理,服务器不知道真正的客户端是谁;反向代理是服务器的代理,客户端不知道真正的服务器是谁
- 正向代理一般是客户端架设的;反向代理一般是服务器架设的
- 正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用。二者都能提高访问速度
4.通过故事理解正向代理和反向代理
4.1 正向代理
同学A急需一笔钱,他直接向富豪马云借钱,但是他俩之间毫无关系,结果当然是没有借到。经过一番打听,同学A的老师王先生是马云的好朋友,于是A同学请求王老师,让王老师帮忙向马云借钱,最终马云同意借钱给王老师,王老师把这笔钱转交给了A同学。
上文就相当于一个正向代理的过程,A同学为客户端,马云为服务器,王老师为正向代理。A同学请求王老师向马云借钱,这个过程中A同学隐藏了自己的角色,马云事实上是不知道到底是谁借的钱。相当于服务器不知道真正发起请求的客户端是谁。
4.2 反向代理
如果遇到困难需要拨打10086客服电话,可能一个地区的10086客服有几十个,但是我们不需要关心电话那头的人是谁。只需要拨通10086的总机号码,电话那头总有客服会回应。
这里的10086总机号码就相当于反向代理,客户端不知道真正提供服务的人是谁。
参考文档
正向代理与反向代理的区别 - 简书
终于有人把正向代理和反向代理解释的明明白白了!
详解正向代理与反向代理相关推荐
- nginx反向代理模块配置详解_Nginx服务器的反向代理proxy_pass配置方法讲解
就普通的反向代理来讲 Nginx的配置还是比较简单的,如: location ~ /* { proxy_pass http://127.0.0.1:8008; } 或者可以 location / { ...
- nginx反向代理模块配置详解_Nginx(三):反向代理负载均衡集群配置详解
概述: 本篇主要总结Nginx实现反向代理和负载均衡功能相关模块的配置说明.主要使用到的模块如下:ngx_http_proxy_moduleNginx实现反向代理功能 ngx_http_upstrea ...
- 从零开始的Nginx详解(4)【Nginx-反向代理】
Nginx-反向代理 一.代理简介 1.正常请求流程 2.正向代理 3.反向代理 二.反向代理配置 1.被代理服务器配置 2.代理服务器配置 3.测试 三.Nginx相关文章链接 演示环境: 系统版本 ...
- 正向代理和反向代理有什么区别?什么是正向代理?什么是反向代理?正向代理和反向代理详解。
一.正向代理: 当用户想访问某一网址时,用户先访问代理服务器,然后由代理服务器向目标网址发送请求最终将数据返回代理服务器,最后代理服务器将数据返回给用户这一过程我们称之为正向代理. 正向代理它代理了客 ...
- Nginx -- 正向代理和反向代理粗解
正向代理: 有一些网站我们无法访问,如国外的网站,或者说某些公司内部的网站,我们输入完整的url无法访问,这时候我们就可以使用正向代理,让可以访问这些url的代理服务器作为正向代理服务器,接收客户 ...
- nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
文章目录 前言 一.nginx简介 1. 什么是 nginx 和可以做什么事情 2.Nginx 作为 web 服务器 3. 正向代理 4. 反向代理 5. 负载均衡 6.动静分离 二.Nginx 的安 ...
- 【网络】正向代理和反向代理
关于网络的基本知识: 为什么百度查到的ip和ipconfig查到的不一样:详解公网Ip和私网ip:详解网络分类ABC: 内网访问外网和外网访问内网的原理 代理 什么是代理?代理其实就相当于交易双方的中 ...
- [转]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
文章目录 前言 一.nginx简介 1. 什么是 nginx 和可以做什么事情 2.Nginx 作为 web 服务器 3. 正向代理 4. 反向代理 5. 负载均衡 6.动静分离 二.Nginx 的安 ...
- 正向代理和反向代理的区别Nginx配置虚拟主机流程(后续更新)
目录 目标 安装Nginx 配置虚拟主机 准备 方法一 方法二(推荐) 验证虚拟主机 正向代理和反向代理的区别 区别&案例 正向代理和反向代理流程 目标 熟练在Linux安装单机Nginx: ...
- Nginx 正向代理和反向代理
前言 最近在捣腾代理,要做个内网yum源代理,之前没接触过代理这些个东西,折腾完记录一下吧. 一.下载源码 目前Nginx一般都是使用源码编译,没有现成的rpm包.下载网址:http://nginx. ...
最新文章
- yum的方式安装mysql_Linux安装mysql之yum安装方式
- c++语言生成一个随机数,C/C++怎么生成“真正的”随机数
- 演化:这五年里,我们对架构师职责的思考与定位
- Android P DP1:WiFi-RTT、刘海、多摄像头、GIF动画、NNAPI 1.1
- scanf调试_STM32调试利器之ITM
- asp向不同的用户发送信息_ASP.NET Core 中的那些认证中间件及一些重要知识点
- access开发精要(12)-文本 和 备注 数据类型格式(1)
- SQL多列查询最大值
- 用VC++6.0 编写一个完整的
- java基础经典面试题10道
- resnet18 参数解读
- directx11编程中遇到的错误及解决方法
- Linux实战教学笔记01:计算机硬件组成与基本原理
- 红外热像仪中的“TD”是什么NE?
- web2.0是个异数?
- 2018年全国高中数学联合竞赛一试和加试参考答案(B卷)
- 海康监控如何设置STMP邮箱报警
- 停车场寻车是怎么实现的?车库寻车有什么好办法?
- 沟通的艺术:看人入里,看出人外 - part 3
- ThinkPad T14、ThinkPadT16 2022款 评测