一、先讲个故事

很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎。

有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜,外卖小哥会送上门来。

由于某个品牌的饭店口碑特别好,食客络绎不绝涌入,第三方订餐电话也不绝于耳,但是限于饭店接待能力有限,无法提供及时服务,很多食客等得不耐烦了,纷纷铩羽而归,饭店老总看着煮熟的鸭子飞走了,心疼不已。

痛定思痛,老总又成立了几个连锁饭店,形成一个集群,对外提供统一标准的菜品服务,电话订餐电话400-xxx-7777,当食客涌入饭店总台,总台将食客用大巴运到各个连锁店,这样食客既不需要排队,各连锁店都能高速运转起来,一举两得,老总乐开了花,并为此种运作模式起名为“反向代理”(Reverse Proxy)。

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

反向代理的实现
1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上

2)服务器返回自己的服务到负载均衡设备

3)负载均衡将服务器的服务返回用户

以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务。

谈完反向代理服务,再来谈谈终端用户常用的代理服务。

代理
1)用户希望代理服务器帮助自己,和要访问服务器通信,为了实现此目标,需要以下工作:

a) 用户IP报文的目的IP = 代理服务器IP
b) 用户报文端口号 = 代理服务器监听端口号
c) HTTP 消息里的URL要提供服务器的链接

2)代理服务器可以根据c)里的链接与服务器直接通信

3)服务器返回网页

4)代理服务器打包3)中的网页,返回用户。

代理服务器应用场景
场景一

如果不采用代理,用户的IP、端口号直接暴露在Internet(尽管地址转换NAT),外部主机依然可以根据IP、端口号来开采主机安全漏洞,所以在企业网,一般都是采用代理服务器访问互联网。

那有同学会有疑问,那代理服务器就没有安全漏洞吗?
相比千千万万的用户主机,代理服务器数量有限,修补安全漏洞更方便快捷。

场景二
在一个家庭局域网,家长觉得外部的世界是洪水猛兽,为了不让小盆友们学坏,决定不让小盆友们访问一些网站,可小盆友们有强烈的逆反心理,侬越是不让我看,我越是想看,于是小盆友们使用了代理服务器,这些代理服务器将禁止访问的网页打包好,然后再转交给小盆友,

应用:http://blog.sina.com.cn/u/1834459124

谈谈反向代理Nginx相关推荐

  1. CGB2005 JT7-8(文件 图片上传 uuid生成文件名 静态代码块,反向代理,Nginx,Host文件,tomact集群实现项目发布 ,nginx负载均衡种类)

    注意事项 1.京淘文件上传 文件上传api 京淘图片上传 利用静态代码块赋值 图片上传优化(动态赋值) uuid去掉横线 2.反向代理机制(正向反向代理说明) nginx学习 nginx实现反向代理 ...

  2. https - nginx反向代理 - nginx端口映射

    1.https实现:数据加密传输(对称密钥).验证服务器身份(非对称加密,公钥签名私钥验证): 2.nginx反向代理: nginx在服务端,发送给服务器的请求首先会经过ngnix,ngnix根据映射 ...

  3. 泛目录程序如何设置目录反向代理(Nginx反向代理泛目录、目录、整站方法 nginx反向代理配置)

    这里以宝塔面板为例,图形界面很友好,适合小白. 我自己的博客也有这篇原创文章,购买泛目录和技术参考请前往此贴: https://www.waytomilky.com/archives/738.html ...

  4. 安装Jupyter Notebook并配置用于多用户的反向代理(Nginx)

    虽然code-server已经能够满足很多需求, 比如用来写C/C++, Java, Tex等, 但是, 当遇到需要做数据分析的时候, 在code-server上运行Python和R就不是那么方便. ...

  5. nginx学习总结五(nginx反向代理)

    nginx学习总结五(nginx反向代理)                             2011-02-28 12:59:33标签:反向代理nginx负载均衡            原创作 ...

  6. nginx 一个请求发给多台机器_Nginx系列二:负载均衡与反向代理

    一.负载均衡 1.什么是负载均衡 随着请求数的快速增长,单服务器已经无法承担大量用户的并发访问,这个时候,就需要建立服务器集群,来让多台服务器协同工作,提高整体项目的吞吐量和QPS.假设一台设备资源占 ...

  7. yum 代理_教你如何在5分钟轻松部署nginx反向代理

    反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源.同时,用户不需要知道目标服务器的地址,也无须在用户端 ...

  8. MacOS开发必备工具brew,安装nginx反向代理,替代linux工具 apt-get和 yum...

    Mac os开发者必备工具 brew,替代Linux系统中的 apt-get和yum工具,本文介绍Mac电脑安装Homebrew,并下载安装软件nginx反向代理过程. 1.安装Homebrew 在苹 ...

  9. 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

    如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Ngi ...

  10. Nginx的基本介绍反向代理

    什么是nginx Nginx 是异步框架的网页服务器,也可以用作反向代理.负载平衡器和 HTTP 缓存.大部分 Web 服务器使用 Nginx,通常作为负载均衡器. 部署web项目的容器(部署你们写的 ...

最新文章

  1. 深度丨11位科技大牛谈人工智能:AI如何改变游戏规则
  2. linux fedora14 u盘运行,怎么把fedora 14 装进U盘里
  3. java一般方法有哪些方法有哪些方法_Java代码优化有哪些方法?
  4. harmonyos sdk,HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案
  5. 验证大小中括号是否成对闭合匹配
  6. Spark代码生成技术之现象CodeGenerator
  7. Leetcode每日一题:992.sort-array-by-parity-ii(按奇偶排序数组Ⅱ)
  8. Windows Mobile如何得到资源文件中的文件
  9. linux网络随机ip发包工具,三款常用IP发包工具介绍
  10. 第五篇:关于MVPArms打包混淆及报错解决
  11. 计算机课程教学调查问卷,计算机基础课程调查问卷
  12. 【实用技巧】下载音乐到本地电脑
  13. PS2有线手柄的SPI协议
  14. LaTeX常用的希腊字符、数学符号、矩阵、公式、排版、中括号、大括号以及插入图片等操作手册
  15. w ndows7错误恢复,windows7错误恢复进不去循环 从根本上解决问题
  16. 一文读懂SIMD指令集 目前最全SSE/AVX介绍
  17. 谷歌地图营销.Google竞价排名
  18. 最小二乘法进行曲线拟合
  19. oracle查看多少表,oracle查看所有表及各表行数?
  20. 模型计算机控制器的设计,模型计算机_控制器的设计.doc

热门文章

  1. oracle拆分分区语法详解大全_Oracle分区表详解
  2. GNU GCC 编译
  3. [无视][mark]退役记
  4. Linux内核version magic不一致问题
  5. Android中的英文翻译
  6. Unity优化百科(UWA 博客目录)
  7. 阿里巴巴android开发规范,阿里巴巴开发手册|阿里巴巴Android开发手册 PDF电子版_最火软件站...
  8. 电脑软件单击打开切换为双击打开
  9. 计算机网络技术专业毕业论文参考选题,计算机网络技术专业毕业论文参考选题...
  10. Git ssh fingerprint不一致