Nginx—反向代理与负载均衡

目录

1.概述

2.应用场景

3.反向代理

什么是代理服务器?——墙上梯子,中间者,打破围墙,实现通信。

为什么使用代理服务器?

正向代理—在客户机上安装代理软件,直接访问目的主机

反向代理—访问代理服务器IP

区别:代理、正向代理、反向代理

4.使用

nginx中配置讲解


1.概述

    Nginx 是一款高性能的 HTTP 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 Nginx 能够支支撑 5 万并发链接,并且 CPU、内存等资源消耗却非常低,运行非常稳定。

  Nginx是用C语言编写的。

  抛出一个问题,应用服务器和应用web服务器有什么区别?

2.应用场景

HTTP:可独立提供HTTP服务,做静态服务器。(可以通过nginx部署静态界面)

虚拟主机:可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

反向代理与负载均衡:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 Nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

3.反向代理

什么是代理服务器?——墙上梯子,中间者,打破围墙,实现通信。

    国内访问谷歌浏览器,无法直接访问,即需要借助第三方代理服务器才可以访问。

   客户端访问目的主机时,不直接发送请求给目的主机,而是先发给代理服务器,代理服务器接收请求后,转发目的主机,并接收目的主机返回来的数据,存放在代理服务器的硬盘当中,然后转发给客户机。

为什么使用代理服务器?

     1.不出国,也可以访问外网。是不是可以访问一些经常不能访问的目标站点。

     2.上面讲到了,代理服务器将返回来的数据存放在自己的硬盘当中,起到了缓存作用,提高了请求速度

     3.代理服务器作为通信的梯子,可以设置使用梯子的人数,即可以在代理服务器上设定上限,过滤不安全的信息。

正向代理—在客户机上安装代理软件,直接访问目的主机

     正向代理,架设在客户机与目标主机之间,只用于代理内部网络对 Internet 的连接请求,客户机必须指定代理服务器,并将本来要直接发送到 Web 服务器上的 Http 请求发送到代理服务器中。(只需要发送请求地址即可)

反向代理—访问代理服务器IP

   反向代理服务器架设在服务器端(代理服务器和目的主机在一个局域网),也可以认为代理服务器与目标主机一起对外表现为一个服务器,可以防止外网对内网的恶性攻击,经常访问的页面存在代理服务器中,可以减少对目标服务器的访问压力。可以转发请求到不同的服务器上,做到了负载均衡。

区别:代理、正向代理、反向代理

  

4.使用

  1. 浏览器准备发起请求,访问http://mamage.leyou.com,但需要进行域名解析

  2. 优先进行本地域名解析,因为我们修改了hosts,所以解析成功,得到地址:127.0.0.1

  3. 请求被发往解析得到的ip,并且默认使用80端口:http://127.0.0.1:80,本机的nginx一直监听80端口,因此捕获这个请求

  4. nginx中配置了反向代理规则,将manage.leyou.com代理到127.0.0.1:9001,因此请求被转发

  5. 后台系统的webpack server监听的端口是9001,得到请求并处理,完成后将响应返回到nginx

  6. nginx将得到的结果返回到浏览器

nginx中配置讲解

发布了240 篇原创文章 · 获赞 435 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/fjxcsdn/article/details/103709182