nginx proxy

nginx反向代理

反向代理:反向代理也叫reverse proxy,指的是代理外网用户的请求到内部的指定web服务器,并将数据返回给用户的一种方式,这是用的比较多的一种方式。 Nginx除了可以在企业提供高性能的web服务之外,另外还可以将本身不具备的请求通过某种预定义的协议转发至其它服务器处理,不同的协议就是Nginx服务器与其他服务器进行通信的一种规范,主要在不同的场景使用以下模块实现不同的功能

实现http反向代理

要求:将用户对域 www.final.co, 的请求转发值后端服务器处理 官方文档: https://nginx.org/en/docs/http/ngx\\_http\\_proxy\\_module.html
访问逻辑 Client –> A –> B/C

Nginx http 反向代理入门

反向代理配置参数 proxy\_pass; #用来设置将客户端请求转发给的后端服务器的主机,可以是主机名、IP地址:端口的方式,也可以代理到预先设置的主机群组,需要模块gx\_http\_upstream\_module支持。
单台web服务器,指定location

缓存功能

缓存功能默认关闭状态

非缓存场景压测

准备缓存配置

访问并验证缓存文件

添加头部报文信息

nginx基于模块ngx\_http\_headers\_module可以实现对头部报文添加指定的key与值, https://nginx.org/en/docs/http/ngx\\_http\\_headers\\_module.html
Nginx配置
验证头部信息

Nginx http 反向代理高级应用

在上一个章节中Nginx可以将客户端的请求转发至单台后端服务器但是无法转发至特定的一组的服务器,而且不能对后端服务器提供相应的服务器状态监测,但是Nginx可以基于ngx\_http\_upstream\_module模块提供服务器分组转发、权重分配、状态监测、调度算法等高级功能 官方文档: https://nginx.org/en/docs/http/ngx\\_http\\_upstream\\_module.html
http upstream配置参数
notion image
uri计算hash值,然后放入缓存中,当在次请求URI时,hash对比如果有就从缓存取给用户,若没有则缓存 所谓的环行结构,当某个点故障了,会自己T掉故障的点,去寻找故障点的下一点
反向代理示例–多台web服务器
反向代理示例–客户端IP透传

实现Nginx tcp负载均衡

Nginx在1.9.0版本开始支持tcp模式的负载均衡,在1.9.13版本开始支持udp协议的负载,udp主要用于DNS的域名解析,其配置方式和指令和http 代理类似,其基于ngx\_stream\_proxy\_module模块实现tcp负载,另外基于模块ngx\_stream\_upstream\_module实现后端服务器分组转发、权重分配、状态监测、调度算法等高级功能

tcp负载均衡配置参数

负载均衡实例–Redis

负载均衡实例:MySQL

实现FastCGI

小结

1、proxy\_pass http://xxxx/ #不带斜线将访问的/web,等于访问后端服务器 2、一般只对URI做缓存 3、头部信息是针对变量值改大小的,一般不常改 4、socket方式性能好,但没有IP地址管理,TCP有检查 的,在高并发的情况下 5、实现TCP负载均衡,七层 6、负载均衡调度算法

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 438803792@qq.com
Loading...