nginx反向代理原理

流过昼夜 提交于 2019-11-28 08:39:49

简介

Nginx是一个http服务器。是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件代理服务器。nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
nginx可以作为web服务器,但更多的时候,我们把它作为网关,因为它具备网关必备的功能:

  • 反向代理
  • 负载均衡
  • 动态路由
  • 请求过滤

今天主要理解一下nginx反向代理的原理。

什么是反向代理?

  • 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
  • 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。

nginx可以当做反向代理服务器来使用:

  • 我们需要提前在nginx中配置好反向代理的规则,不同的请求,交给不同的真实服务器处理
  • 当请求到达nginx,nginx会根据已经定义的规则进行请求的转发,从而实现路由功能

在这里插入图片描述

客户端在访问时会先把请求发到nginx,http的默认端口是80,而nginx一直监听80端口,nginx收到请求后根据域名解析,映射到不同路径,实现反向代理。我们在浏览器访问时就不需要再用ip+端口的方式访问而是通过域名的方式,这样就不用暴露ip和端口,肯定更加安全。在架构上可以实现前后端的分离。

在这里插入图片描述

nginx代理配置

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!