谈谈反向代理Nginx
一、先讲个故事
很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎。
有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用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相关推荐
- CGB2005 JT7-8(文件 图片上传 uuid生成文件名 静态代码块,反向代理,Nginx,Host文件,tomact集群实现项目发布 ,nginx负载均衡种类)
注意事项 1.京淘文件上传 文件上传api 京淘图片上传 利用静态代码块赋值 图片上传优化(动态赋值) uuid去掉横线 2.反向代理机制(正向反向代理说明) nginx学习 nginx实现反向代理 ...
- https - nginx反向代理 - nginx端口映射
1.https实现:数据加密传输(对称密钥).验证服务器身份(非对称加密,公钥签名私钥验证): 2.nginx反向代理: nginx在服务端,发送给服务器的请求首先会经过ngnix,ngnix根据映射 ...
- 泛目录程序如何设置目录反向代理(Nginx反向代理泛目录、目录、整站方法 nginx反向代理配置)
这里以宝塔面板为例,图形界面很友好,适合小白. 我自己的博客也有这篇原创文章,购买泛目录和技术参考请前往此贴: https://www.waytomilky.com/archives/738.html ...
- 安装Jupyter Notebook并配置用于多用户的反向代理(Nginx)
虽然code-server已经能够满足很多需求, 比如用来写C/C++, Java, Tex等, 但是, 当遇到需要做数据分析的时候, 在code-server上运行Python和R就不是那么方便. ...
- nginx学习总结五(nginx反向代理)
nginx学习总结五(nginx反向代理) 2011-02-28 12:59:33标签:反向代理nginx负载均衡 原创作 ...
- nginx 一个请求发给多台机器_Nginx系列二:负载均衡与反向代理
一.负载均衡 1.什么是负载均衡 随着请求数的快速增长,单服务器已经无法承担大量用户的并发访问,这个时候,就需要建立服务器集群,来让多台服务器协同工作,提高整体项目的吞吐量和QPS.假设一台设备资源占 ...
- yum 代理_教你如何在5分钟轻松部署nginx反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源.同时,用户不需要知道目标服务器的地址,也无须在用户端 ...
- MacOS开发必备工具brew,安装nginx反向代理,替代linux工具 apt-get和 yum...
Mac os开发者必备工具 brew,替代Linux系统中的 apt-get和yum工具,本文介绍Mac电脑安装Homebrew,并下载安装软件nginx反向代理过程. 1.安装Homebrew 在苹 ...
- 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理
如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Ngi ...
- Nginx的基本介绍反向代理
什么是nginx Nginx 是异步框架的网页服务器,也可以用作反向代理.负载平衡器和 HTTP 缓存.大部分 Web 服务器使用 Nginx,通常作为负载均衡器. 部署web项目的容器(部署你们写的 ...
最新文章
- 深度丨11位科技大牛谈人工智能:AI如何改变游戏规则
- linux fedora14 u盘运行,怎么把fedora 14 装进U盘里
- java一般方法有哪些方法有哪些方法_Java代码优化有哪些方法?
- harmonyos sdk,HarmonyOS SDK对应的API版本跃迁引发的历史工程适配问题解决方案
- 验证大小中括号是否成对闭合匹配
- Spark代码生成技术之现象CodeGenerator
- Leetcode每日一题:992.sort-array-by-parity-ii(按奇偶排序数组Ⅱ)
- Windows Mobile如何得到资源文件中的文件
- linux网络随机ip发包工具,三款常用IP发包工具介绍
- 第五篇:关于MVPArms打包混淆及报错解决
- 计算机课程教学调查问卷,计算机基础课程调查问卷
- 【实用技巧】下载音乐到本地电脑
- PS2有线手柄的SPI协议
- LaTeX常用的希腊字符、数学符号、矩阵、公式、排版、中括号、大括号以及插入图片等操作手册
- w ndows7错误恢复,windows7错误恢复进不去循环 从根本上解决问题
- 一文读懂SIMD指令集 目前最全SSE/AVX介绍
- 谷歌地图营销.Google竞价排名
- 最小二乘法进行曲线拟合
- oracle查看多少表,oracle查看所有表及各表行数?
- 模型计算机控制器的设计,模型计算机_控制器的设计.doc
热门文章
- oracle拆分分区语法详解大全_Oracle分区表详解
- GNU GCC 编译
- [无视][mark]退役记
- Linux内核version magic不一致问题
- Android中的英文翻译
- Unity优化百科(UWA 博客目录)
- 阿里巴巴android开发规范,阿里巴巴开发手册|阿里巴巴Android开发手册 PDF电子版_最火软件站...
- 电脑软件单击打开切换为双击打开
- 计算机网络技术专业毕业论文参考选题,计算机网络技术专业毕业论文参考选题...
- Git ssh fingerprint不一致