通俗易懂:Nginx正反向代理,买瓶可乐就能理解
我们都知道Nginx之所以强大,正式在于它的代理功能,特别是反向代理,在集群、负载均衡上可谓大显身手。那么什么是正向代理以及反向代理呢?今天我们不用专业术语,而是用简单易懂的买东西的原理来举例。
一.正向代理
情景:【小明】想要到【解忧杂货铺】去买可乐,但是来到杂货铺,门关着的并且挂着牌子写着:“只有会员才能进门买商铺”。这时候【小代】对小明说他有杂货铺的会员,可以帮小明买,于是小明每次去杂货铺买东西都通过小代购买。
解释:【小明】就是我们所说的客户端;【小代】则是Nginx正向代理服务器;【解忧杂货铺】则是客户端想要访问的网站或者服务器。这里的情景是客户端访问不到目标网站,从而选择代理服务器作为介质去访问;还有一种就是客户端能访问到目标网站,只是客户端想隐藏自己的身份(IP),从而可以借助代理服务器的身份去访问目标服务器。
二.反向代理
情景:还是【小明】想要去【解忧杂货铺】买可乐,但是杂货铺的【服务员小艺】对小明说:“可乐我可以提供给你,但是你不能直接去我店铺里拿,你需要什么直接跟我说,我给你拿就可以了”。于是小明每次买东西都是到杂货铺门口找服务员买,需要什么服务员就给他拿即可,但是小明却看不到店铺里面商品如何摆设。
解释:【小明】就是客户端,【解忧杂货铺】是目标服务器,客户端要访问目标服务器上的接口获取数据,但是目标服务器上内部的接口不方便对外开放的情境下,就通过【服务员小艺】(Nginx)反向代理给客户端。这时候客户端是不知道服务器内部接口的情况,只知道Nginx代理的IP地址提供的接口,并不知道这个接口从哪里来的。
三.区别
还是用【小明】买可乐来进行对比来进行解释两者的区别:
1.正向代理:小明能看到【解忧杂货铺】里的东西。专业术语就是客户端知道目标网站或者服务器,但客户端不方便直接访问或者无权限访问(例如需要权限或者翻墙),这时候需要通过Nginx代客户端进行访问。
2.反向代理:小明看不到【解忧杂货铺】里具体的东西,只能通过【服务员小艺】展示的来进行购买。专业术语就是客户端需要访问服务器A的接口,而服务器A接口不方便暴露,只有通过Nginx反向代理的方式展示给客户端,这时候客户端只知道接口是Nginx地址暴露的,但却不知道原来是服务器A的接口。
四.应用场景
1.正向代理一般用于访问特定的服务器或者地址,客户端需要隐藏真实IP。
2.正向代理还有一个使用场景是访问无法直接访达的地址,例如google,目前无法访问,这时候就通过代理的方式去访问。
3.反向代理主要用于服务器接口安全,服务端的接口都只对内部开发,外网无法访问。这时候就要借助Nginx反向代理,把内网服务器的接口映射到外网,从而隐藏了内部服务器地址。
4.反向代理还有一个引用场景是均衡负载。Nginx可以配置多个后端服务器,而暴露给外网的仍然是相同的接口,只不过这时候后端可以是1个或者多个,多个的目的是保障后端服务器能够最大限度的承载。
五.总结
技术并没有我们想象的那么遥远那么触不可及,其实它就在我们身边,技术也是源于生活,同时又致力于改善生活。
通俗易懂:Nginx正反向代理,买瓶可乐就能理解相关推荐
- nginx 正反向代理
1.代理 在Java设计模式中,代理模式是这样定义的:给某个对象提供一个代理对象,并由代理对象控制原对象的引用. 可能大家不太明白这句话,在举一个现实生活中的例子:比如我们要买一间二手房,虽然我们可以 ...
- Nginx - 正反向代理,nginx.conf配置
Nginx (engine x) 是一个轻量级的高性能的HTTP和反向代理web服务器及电子邮件(IMAP/POP3)代理服务器. Nginx 是由俄罗斯人 Igor Sysoev 采用C语言开发编写 ...
- 有效记忆nginx正反代理定义
有效记忆nginx正反代理定义 一.正向代理 二.反向代理 一.正向代理 请求顺序是吴签想喝茶百道奶茶了,给经纪人提出了请求,然后经纪人去茶百道商家给吴签买奶茶,经纪人帮吴签干活,所以对于经纪人来说是 ...
- java递归空瓶换饮料_问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...
/** *问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? *下面用不同的方法实现了这个问题(Java实现): *1.递归方法 *2.非递归方法 *3.公式法 */ publ ...
- 说明白正反向代理,以及Nginx和Gunicorn
一:什么是Nginx Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资 ...
- 给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐
//给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐.(5分) public class Test1 {public static void main(Stri ...
- 给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐?
给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱, 问最多可以喝到多少瓶可乐? public class Test {public static void main(String[] a ...
- 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐
import java.util.Scanner; public class Test10 { /*** 10.28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?* 假如是5 ...
- 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(解读误区)
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐? 本来是一道很简单的问题(找个小学生都能算出来)但是大部分人都忽略了一个跟经济有关的问题. ...
最新文章
- Cell Reports:中科院动物所魏辅文组解析大熊猫肠道菌群季节性变化的功能
- php写js跳转页面,php实现页面的三种跳转
- mysql删除redo_删除redo log group or member
- java注解的继承_Java注解合并,注解继承
- ABP入门系列(21)——切换MySQL数据库
- 脉冲神经网络基础知识,SpikeProp
- 360手机浏览器_网信办出手:华为、360、qq等8款手机浏览器被列入首批重点整治名单...
- 【bzoj4542】[Hnoi2016]大数 莫队算法
- linux是乱码,linux乱码的解决方法 -
- table中td的内容换行。
- AD 10分钟画一块最简PCB
- 鼠标点计算机再点网络也是选定,鼠标左键单击变双击,点一下变两下是什么原因?...
- cloudMusic.mps的前世今坑
- 删库是不可能删库的,这辈子是不可能删库的
- 用Matlab把SMAP vegetation optical depth (VOD)数据转换成带投影信息EASE GRID2的tif文件
- 分享一些实用的手机应用
- AD打印,只打印自己想要的层怎么设置
- mysql association_Mybatis的一对多(collection)和一对一(association)查询
- 华为p10和p10plus区别_华为P10和华为P10Plus怎么样?哪个更值得买?华为P10与P10Plus区别对比...
- C++ 强制类型转换操作符(static_cast、dynamic_cast、const_cast和reinterpret_cast)
热门文章
- 数据结构与算法——左程云06
- python里有哪些函数_python update函数会调用哪些内置函数_Python函数之内置函数
- ATA并口硬盘接口图解
- 【SDOI2008】山贼集团
- 谷歌翻译用不了修复方法记录
- 【English】Day 2 大英读写2 U1 A 7.11.12 翻译
- 2018网站优化人员不同阶段在做哪些事
- 北京理工大学计算机学院研究生孙灿,吴心筱_北京理工大学计算机学院
- 中标麒麟操作系统,yum安装软件时提示:“已加载插件:langpacks,无须任何处理“的解决办法
- 关于软件工程----一线城市与二三线城市的区别