加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Nginx——正向署理和反向署理的区别

发布时间:2018-11-13 05:24:57 所属栏目:业界 来源:今日头条
导读:1、正向署理和反向署理的观念 无论是正向署理,照旧反向署理,说到底,就是署理模式的衍生版本而已。我们都进修过署理计划模式,都知道署理模式中有署理脚色和被署理脚色,为什么这么说,由于这两个脚色对付我们领略正向和反向署理很是重要,下面会讲到。

1、正向署理和反向署理的观念

无论是正向署理,照旧反向署理,说到底,就是署理模式的衍生版本而已。我们都进修过署理计划模式,都知道署理模式中有署理脚色和被署理脚色,为什么这么说,由于这两个脚色对付我们领略正向和反向署理很是重要,下面会讲到。

Nginx——正向署理和反向署理的区别

下面我将引入这样一个场景,许多时辰我们上网的网速出格慢,可能说因为翻墙题目导致我们无法会见到海外的网站,凡是这些环境我们会通过给赏识器设置一个网速快的、可以翻墙的署理ip及端标语来办理我们的题目,那么设置好之后,或许的哀求流程如下图所示:

Nginx——正向署理和反向署理的区别

我们起首哀求署理处事器,然后署理处事器帮我们去快速会见海外的网站,对付这种署理方法,我们就称之为正向署理。请记着,上面说到署理模式的两个脚色中,我们当前的脚色为 被署理者,也就是赏识器这个脚色。更重要的是,正向署理的本质是我们去哀求外部的资源,假如以出产者、斲丧者模式来区分,我们属于斲丧者。

总结:

  • 正向署理,我们的脚色是 被署理者
  • 正向署理,我们差池外提供处事,反而是对外斲丧处事,属于斲丧者

反向署理,很显然,就是和正向署理相反,假如嗣魅正向署理是男,那么反向署理就是女了,亲,此处不再纠结其他环境!下面我用一副图片表明下反向署理:

Nginx——正向署理和反向署理的区别

看完上面的图片,请你想象一下这么一个场景,,假设你此刻是某公司技能总监,你们公司必要对外提供一套web处事,那么你规划怎么做呢?

谜底是可以通过反向署理来完成。凡是你们公司拥有本身的IDC机房,机房通信凡是回收局域网互换机,internet网用户哀求是无法直接会见到局域网内的web处事的,因此这个时辰,你必要一台反向署理处事器来吸取internet web哀求,然后将哀求分发到局域网中的差异主机长举办处理赏罚,处理赏罚完成之后再做出相应。因此,反向署理或许就是这么一个场景。请记着,反向署理中,我们的脚色是 局域网 web处事。

总结:

  • 反向署理,我们的脚色是 局域网 web处事
  • 反向署理,我们对外提供处事,属于处事提供者

2、nginx正向署理和反向署理实例理会

nginx在正向署理方面的应用很是地少,因此,对付正向署理的相干设置指令也不多,下面是一个nginx作为正向署理处事器的设置实例,设置仅供参考。

server { resolver 192.168.1.1; #指定DNS处事器IP地点 listen 8080; location / { proxy_pass http://$http_host$request_uri; #设定署理处事器的协媾和地点 } } 复制代码

表明下上面的指令,resolver设置DNS处事器的ip地点,可以设置多个。你也许会问,正向署理中为什么必要设置DNS处事器的ip地点呢?着实谜底很简朴,你想象下若是此刻你的赏识器设置了正向署理处事器,你此刻在赏识器中输入http://oneSite.cn/index.html,按照正向署理道理,该url哀求将会被正向署理处事器执行,题目来了,假如你的署理处事器不设置DNS理会处事,nginx怎么知道你这个oneSite.cn到底是个什么鬼,到底对应因特网的ip地点是什么?以是这就是必要设置resolver指令的缘故起因地址。

listen指令设置nginx监听赏识器哀求的端标语。

proxy_pass指令设置吸取到被署理赏识器发来的哀求之后,必要资助执行的哀求是什么,$http_host$request_uri指明目标主机和uri,属于nginx变量,一样平常不必要修改。

nginx反向署理的相干设置如下,在这里小编搭建两个Spring boot小demo模仿上面反向署理的web处事,相干源代码可以在github获取。

Nginx——正向署理和反向署理的区别

demo工程启动端标语为8081,demo1工程启动端口为8082,对付全部的哀求前缀带/demo的都将转发到demo工程举办处理赏罚,对付全部的哀求前缀带/demo1的都将转发到demo1工程举办处理赏罚。

nginx设置如下:

server { listen 80; location /demo { proxy_pass http://127.0.0.1:8081; } location /demo1 { proxy_pass http://127.0.0.1:8082; } } 复制代码

启动demo和demo1两个工程之后,赏识器输入下面地点:

Nginx——正向署理和反向署理的区别

Nginx——正向署理和反向署理的区别

可以看到,外部同一行使80端口会见处事时,nginx按照路径前缀举办署理,然后返回执行功效。对付nginx反向署理路径设置有几点必要留意,行使时要很是审慎。

上面proxy_pass指令设置的url为http://127.0.0.1:8081,留意在该url后头不能行使/demo1后缀举办取代,不然就报错了。为什么呢?起首nginx会判定proxy_pass指令中设置的url地点是否包括uri,假如在proxy_pass指令中设置的url地点不包括uri,那么nginx将会行使哀求路径的uri举办转发,假如在proxy_pass指令中设置的url地点包括uri,则nginx会忽略哀求location中的uri,转而行使你在proxy_pass中设置的uri举办包围,转发,其它,/也是一种uri,哈哈,要出格警惕哈~

【编辑保举】

  1. Apache和Nginx两大Web常用处事器有什么区别,你知道吗?
  2. 超全面Nginx+VSFTP搭建图片处事器
  3. Nginx反向署理处事器、负载平衡处事器和正向署理
  4. Nginx 安详题目致使 1400 多万台处事器易蒙受 DoS 进攻
  5. 跟小编一路学:Nginx设置HTTPS处事器进程详情
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读