Nginx-反向代理服务【理论知识】

Nginx-学习目录

1、Nginx代理服务基本概述

1.1、代理-解析

1.1.1、什么是代理

代理一词往往我们并不陌生,该服务我们常常用到。(比如:代理理财、代理租房、代理收货等等

1.1.2、图解

1.2、没有代理模式的情况

1.2.1、说明

在没有代理模式的情况下,都是客户端直接请求服务端,服务端直接响应客户端。
比如︰抖音在初创阶段时没太多人关注,单台服务器足以支撑业务运行。但随着事件推移,xx门事件的发生,引得抖音迅速蹿红,那么此时单台服务器难以支撑海量的用户请求,甚至一度造成服务瘫痪。

1.2.2、图解

1.3、有代理的的情况下

1.3.1、说明

在有代理模式的情况下,客户端往往无法直接向服务端发起请求,而是需要使用到代理服务,来实现客户端和服务通信。

1.3.2、图解

2、Nginx代理服务常见模式

2.1、正向代理

2.1.1、流程图

正向代理,(内部上网客户端 <--> 代理 -> 服务端)

2.1.2、用途1-客户端FQ

比如:科学的方式访问Google

2.1.3、用途2-客户端提速

比如:游戏加速器。

2.1.4、用途3-客户端缓存

比如︰下载资源,可以先查看代理服务是否有,如果有直接通过代理获取。

2.1.5、用途4-客户端授权

很多公司为了安全,连接外网需要通过防火墙,防火墙可以配置规则,允许谁可以上外网,谁不可以上外网。

2.2、反向代理

2.2.1、流程图

反向代理,用于公司集群架构中,客户端 -> 代理 <--> 服务端

 

2.2.2、用途1-路由功能

根据用户请求的URI调度到不同的功能的服务器进行处理。

 

2.2.3、用途2-负载均衡

将用户发送的请求,通过负载均衡调度算法挑选一台合适的节点进行请求处理。

2.2.4、用途3-动静分离

根据用户请求的URI进行区分,将动态资源调度至应用服务器处理,将静态资源调度至静态资源服务器处理。

2.2.5、用途4-数据缓存

将后端查询的数据存储至反向代理上缓存,可以加速用户获取资源。

2.3、正向与反向代理区别

区别在于形式上服务的"对象"不一样、其次架设的位置点不一样。
正向代理代理的对象是客户端,为客户端服务 反向代理代理的对象是服务端,为服务端服务

3、Nginx代理服务支持协议

3.1、支持代理的协议

Nginx作为代理服务,支持的代理协议非常的多,分别如下:
1、http/https
2、TCP/UDP
3、webSocket # http 1.1长链接通讯协议
4、GRPC      # go语言远程过程调用
5、POP/IMAP  # 邮件收发协议
6、RTMP      # 流媒体、直播、点播

 

3.2、常用代理协议

          |- ngx_http_fastcgi_module【php server】
http/https|- ngx_http_uwsgi_module【python server】
          |- ngx_http_proxy_module【web server】


grpc      |- ngx_http_v2_module【grpc server】
websocket |- ngx_http_proxy_module【websocket server】

 

posted @ 2023-04-30 16:58  小粉优化大师  阅读(38)  评论(0编辑  收藏  举报