http代理服务器

正向代理代理的对象是客户端,反向代理代理的对象是服务端
正向代理中,proxy和client同属一个LAN,对server透明;
反向代理中,proxy和server同属一个LAN,对client透明。

代理&原理

Fiddler就是个典型的代理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销代理,这样就不会影响别的程序。

代理的作用

主要功能如下:

1) 翻.墙
找代理服务器很麻烦, 一般都是用翻.墙软件来自动发现代理服务器的。

2)匿名访问
HTTP代理服务器通过删除HTTP报文中的身份特性(比如客户端的IP地址, 或cookie,或URI的会话ID), 从而对远端服务器隐藏原始用户的IP地址以及其他细节。 同时HTTP代理服务器上也不会记录原始用户访问记录的log(否则也会被查到)。

3)通过代理上网
比如局域网不能上网, 只能通过局域网内的一台代理服务器上网。

4)过滤器
很多教育机构, 会利用过滤器代理来阻止学生访问成人内容。

5)通过代理缓存,加快上网速度
大部分代理服务器都具有缓存的功能,就好像一个大的cache, 它有很大的存储空间,它不断将新取得数据存储到它本地的存储器上, 如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传给用户的浏览器,这样就能显著提高浏览速度。

反向代理

比喻:反向代理隐藏了真实的服务端,当请求 www.baidu.com 时,就像拨打10086一样,背后有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器。

由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。

反向代理的作用

1.缓存,加速了对网站访问速度,减轻web服务器的负担,反向代理具有缓存网页的功能,如果用户需要的内容在缓存中,则可以直接从代理服务其中获取,减轻了web服务器的负荷,同时也加快了用户的访问速度。
2.负载均衡,将用户请求分配给多个服务器。
3.访问控制;保护了真实的web服务器,web服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了web服务器的资源安全;
4.防止主服务器被恶意攻击,加上一些特殊的东西做特殊的事情(如IPS—入侵防御系统、web应用防火墙等)所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。

反向代理的原理

反向代理服务器通常有两种模型,它可以作为内容服务器的替身,也可以作为内容服务器集群的负载均衡器。

1,作内容服务器的替身

如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。

当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。

这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。

可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。

2,作为内容服务器的负载均衡器

可以在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。在此模型中,可以利用代理服务器的高速缓存特性,创建一个用于负载平衡的服务器池。此时,代理服务器可以位于防火墙的任意一侧。如果 Web 服务器每天都会接收大量的请求,则可以使用代理服务器分担 Web 服务器的负载并提高网络访问效率。

对于客户机发往真正服务器的请求,代理服务器起着中间调停者的作用。代理服务器会将所请求的文档存入高速缓存。如果有不止一个代理服务器,DNS 可以采用“循环复用法”选择其 IP 地址,随机地为请求选择路由。客户机每次都使用同一个 URL,但请求所采取的路由每次都可能经过不同的代理服务器。

可以使用多个代理服务器来处理对一个高用量内容服务器的请求,这样做的好处是内容服务器可以处理更高的负载,并且比其独自工作时更有效率。在初始启动期间,代理服务器首次从内容服务器检索文档,此后,对内容服务器的请求数会大大下降。

反向代理的实现

1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上
2)服务器返回自己的服务到负载均衡设备
3)负载均衡将服务器的服务返回用户
以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务

http代理 代理原理 反向代理相关推荐

  1. 负载均衡 反向代理为何叫反向代理?

    转  https://www.zhihu.com/question/24723688 与正向代理比起来,反向代理是什么东西反向了? 关注者 1217 被浏览 184352 41 个回答 刘志军 公众号 ...

  2. 你需要知道的前端跨域知识(同源、正向代理、反向代理、前端代理、nignx反向代理)

    你需要知道的前端跨域知识(同源.正向代理.反向代理.前端代理.nignx反向代理) 一.什么是跨域? 当一个请求url的协议名.主机号.端口号三者任意一个或多个与当前url不同,即可称为跨域. 二.为 ...

  3. 反向代理原理反向代理服务器配置解决访问加速

    基本原理: 用户A始终认为它访问的是原始服务器B而不是代理服务器Z,但实用际上反向代理服务器接受用户A的应答,从原始资源服务器B中取得用户A的需求资源,然后发送给用户A.由于防火墙的作用,只允许代理服 ...

  4. Nginx代理——正向、反向代理,动静分离和负载均衡

    文章目录 一.Nginx代理概述 (1)什么是正向代理和反向代理 -正向代理: -反向代理 -反向代理和正向代理的区别 (2)配置代理 -Nginx代理配置语法 -配置正向代理 -Nginx反向代理示 ...

  5. 【转载】反向代理为何叫反向代理?

    很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎. 有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜, ...

  6. 反向代理为何叫反向代理?

    作者:车小胖 链接:https://www.zhihu.com/question/24723688/answer/160252724 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  7. Apache配置一级反向代理和二级反向代理实现目录网站管理

    一级反向代理:就是从A站配置到B服务器站 二级反向代理:就是在B站服务器基础上再分到C服务器站 1.设置httpd.conf 打开Apache24/conf文件夹下的httpd.conf设置文件,找到 ...

  8. nginx反向代理以及nginx反向代理三种方式

    nginx反向代理的三种模式分别是: 一.正向代理(Forward Proxy) 二.反向代理(reverse proxy) 三.透明代理 Nginx性能很高的,尤其是作为一个代理服务器,因为它用的是 ...

  9. 理论+实验 详解Squid部署--传统代理--透明代理--日志分析--反向代理

    目录 一 缓存代理概述 1.1 Web代理的工作机制 1.2 代理的基本类型 1.3 使用代理的好处 二 Squid安装及运行 2.1 编译安装Squid 3.4.6 2.2 Squid配置文件调整 ...

最新文章

  1. 分析机风云:超前时代五十载,是非曲直苦难辩
  2. Java Web实现分页查询
  3. ip classles
  4. 问答中心html,html
  5. .Net版行号消除器
  6. 如何在SAP Cloud for Customer的Silverlight UI中找到后台错误的明细
  7. QEvent的accept()和ignore()函数功能
  8. [html] 如何关闭HTML页面在IOS下的键盘首字母自动大写?
  9. 计算机二维全息图原理,三维信息加密如何使用计算全息进行
  10. 【算法学习】AVL平衡二叉搜索树原理及各项操作编程实现(C++)
  11. 将一个对象相同的属性(不区分大小写)赋值给一个新对象 DataTable的一个简单的扩展...
  12. hdu1505 dp:01矩形中最大面积全0矩阵
  13. 自定义getElementByClass
  14. 如何使用pytorch下载MNIST数据集
  15. 2021年下半年软件设计师下午真题及答案解析
  16. 【教程】如何批量获取图片信息,尺寸、大小、路径、文件名,然后导出表格或者txt的文本,下面教你使用方法
  17. Burpsuite介绍及2022.8.2版本超详细安装教程(图文版)
  18. GICv3软件overview手册之GICv4对虚拟LPI的直接注入(2)
  19. 学信息安全买计算机,大学学习计算机类信息安全方向真的很蠢吗?
  20. 区块链的九大应用场景和创新玩法

热门文章

  1. 土地主大威德之模板方法模式
  2. 为什么有些人能力很强却不被提拔?看完这个回答,我心服口服
  3. 用计算机写试卷反思,用计算机写字优秀教学设计与反思
  4. Java项目源码下载SSM水果蔬菜商城批发网站|电商购物系统
  5. 克隆系统分区或者硬盘
  6. 删除手机图片后保持图库不会出现黑图的方法。
  7. 语音识别框架之ESPnet
  8. RabbitMQ批量消息发送
  9. 2、用Kettle生成日期维度数据(一)使用kettle生成2019年日期文件保存到hive表中
  10. usb和串口传输速度,串口、PS\2和USB接口的传输速率