nginx 反向代理目录

Nginx 服务器的反向代理服务是其最常用的重要功能 , 由反向代理服务也可以衍生出很多与此相关的 Nginx 服务器重要功能 , 比如后面会介绍的负载均衡 。本篇博客我们会先介绍 Nginx 的反向代理 , 当然在了解反向代理之前 , 我们需要先知道什么是代理以及什么是正向代理 。
前些天发现了一个巨牛的人工智能学习网站 , 通俗易懂 , 风趣幽默 , 忍不住分享一下给大家 。点击跳转到网站 。
 
1、代理在JAVA设计模式中 , 代理模式是这样定义的:给某个对象提供一个代理对象 , 并由代理对象控制原对象的引用 。
可能大家不太明白这句话 , 在举一个现实生活中的例子:比如我们要买一间二手房 , 虽然我们可以自己去找房源 , 但是这太花费时间精力了 , 而且房屋质量检测以及房屋过户等一系列手续也都得我们去办 , 再说现在这个社会 , 等我们找到房源 , 说不定房子都已经涨价了 , 那么怎么办呢?最简单快捷的方法就是找二手房中介公司(为什么?别人那里房源多啊) , 于是我们就委托中介公司来给我找合适的房子 , 以及后续的质量检测过户等操作 , 我们只需要选好自己想要的房子 , 然后交钱就行了 。
代理简单来说 , 就是如果我们想做什么 , 但又不想直接去做 , 那么这时候就找另外一个人帮我们去做 。那么这个例子里面的中介公司就是给我们做代理服务的 , 我们委托中介公司帮我们找房子 。
Nginx 主要能够代理如下几种协议 , 其中用到的最多的就是做Http代理服务器 。

nginx 反向代理目录

文章插图
 
2、正向代理弄清楚什么是代理了 , 那么什么又是正向代理呢?
这里我再举一个例子:大家都知道 , 现在国内是访问不了 google的 , 那么怎么才能访问 Google呢?我们又想 , 美国人不是能访问 Google吗(这不废话 , Google就是美国的) , 如果我们电脑的对外公网 IP 地址能变成美国的 IP 地址 , 那不就可以访问 Google了 。你很聪明 , VPN 就是这样产生的 。我们在访问 Google 时 , 先连上 VPN 服务器将我们的 IP 地址变成美国的 IP 地址 , 然后就可以顺利地访问了 。
这里的 VPN 就是做正向代理的 。正向代理服务器位于客户端和服务器之间 , 为了向服务器获取数据 , 客户端要向代理服务器发送一个请求 , 并指定目标服务器 , 代理服务器将目标服务器返回的数据转交给客户端 。这里客户端是要进行一些正向代理的设置的 。
PS:这里介绍一下什么是 VPN , VPN 通俗的讲就是一种中转服务 , 当我们电脑接入 VPN 后 , 我们对外 IP 地址就会变成 VPN 服务器的 公网 IP , 我们请求或接受任何数据都会通过这个VPN 服务器然后传入到我们本机 。这样做有什么好处呢?比如 VPN 游戏加速方面的原理 , 我们要玩网通区的 LOL , 但是本机接入的是电信的宽带 , 玩网通区的会比较卡 , 这时候就利用 VPN 将电信网络变为网通网络 , 然后在玩网通区的LOL就不会卡了(注意:VPN 是不能增加带宽的 , 不要以为不卡了是因为网速提升了) 。
可能听到这里大家还是很抽象 , 没关系 , 和下面的反向代理对比理解就简单了 。
 
3、反向代理反向代理和正向代理的区别就是:正向代理代理客户端 , 反向代理代理服务器 。
反向代理 , 其实客户端对代理是无感知的 , 因为客户端不需要任何配置就可以访问 , 我们只需要将请求发送到反向代理服务器 , 由反向代理服务器去选择目标服务器获取数据后 , 在返回给客户端 , 此时反向代理服务器和目标服务器对外就是一个服务器 , 暴露的是代理服务器地址 , 隐藏了真实服务器IP地址 。
下面我们通过两张图来对比正向代理和方向代理:
nginx 反向代理目录

文章插图
 

nginx 反向代理目录

文章插图


推荐阅读