内容目录
Nginx代理概述
什么是代理
- 代理代理,代为办理,对于代理一词而言,我们并不陌生,在我们日常生活中常常用到。
- 比如代理理财、代理租房、代理收货等等。
无代理场景
- 在没有使用代理的场景下,客户端都是直接请求服务端,服务端直接响应客户端。
- 比如:抖音在初创阶段时没太多人关注,单台服务器足以支撑业务运行。但随着事件推移,抖音迅速蹿红,那么此时单台服务器难以支撑海量的用户请求,甚至一度造成服务瘫痪。
有代理场景
- 在使用代理的场景下,客户端无法直接向服务端发起请求,需要先请求代理服务,由代理服务代为请求后端节点,以实现客户端与后端通信。
- 使用代理会增加网络延迟,但能提高系统整体的响应,以此承担海量的并发请求。
Nginx正向代理
- 正向代理,(内部上网)客户端 <--> 代理 -> 服务端
客户端科学上网
比如:科学的方式访问Google
客户端提速
比如:游戏加速器
客户端缓存
比如:下载资源,可以先查看代理服务是否有,如果有直接通过代理获取
客户端授权
很多公司为了安全,连接外网需要通过防火墙,防火墙可以配置规则,允许谁可以上外网,谁不可以上外网。
Nginx反向代理
- 反向代理,用于公司集群架构中,客户端 -> 代理 <--> 服务端
路由功能
根据用户请求的URI
调度到不通的功能的集群服务器进行处理
负载均衡
将用户发送的请求,通过负载均衡调度算法挑选一台合适的节点进行请求处理
动静分离
根据用户请求的URI
进行区分,请动态资源调度至应用服务器处理,将静态资源调度至静态资源服务器处理
数据缓存
将后端查询的数据存储至反向代理上缓存,可以加速用户获取资源。
正向与反向代理区别
- 区别在于形式上服务的对象不一样,其次架设的位置点不一样
- 正向代理的对象是客户端,为客户端服务
- 反向代理的对象是服务端,为服务端服务
- user --> 正向代理(路由器) --> 反向代理(缓存) --> 服务器
Nginx可代理的协议
Nginx支持代理的协议
nginx
作为代理服务,支持的代理协议非常额多,如下图所示
Nginx常用的代理协议
- 通常情况下,我们将
nginx
作为反向代理,常常会用到如下几种代理协议,如下图所示
留言