news 2026/6/21 14:22:13

七、Nginx 与网关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
七、Nginx 与网关

Nginx 反向代理


Nginx 反向代理流程

第一步:客户端请求 Nginx

客户端:

  • 请求先到 Nginx

第二步:匹配规则

Nginx 根据:

  • server_name
  • location

匹配配置规则。


第三步:选择后端服务器

从 upstream 集群中:

按负载均衡算法选择服务器。


常见负载均衡算法

算法说明
轮询默认
weight权重
ip_hash同 IP 固定服务器

第四步:转发请求

Nginx:

  • 转发请求到后端

同时设置:

X-Real-IP

等头信息。


第五步:返回响应

后端处理完成:

  • 返回给 Nginx
  • Nginx 再返回客户端

反向代理的好处

功能作用
负载均衡分散请求压力
高可用故障转移
隐藏后端提高安全性
SSL 卸载HTTPS 统一处理
缓存提高性能
限流防止恶意请求

Nginx 反向代理 + CDN


题目 2:Nginx 反向代理 + CDN 加速

一、Nginx 反向代理

流程:

客户端 → Nginx → Tomcat

作用:

  • 负载均衡
  • 隐藏后端服务器
  • 动静分离

二、CDN 加速

原理:

  • 静态资源缓存到边缘节点

特点:

  • 用户就近访问
  • 降低延迟

适合:

  • 图片
  • CSS
  • JS

四、Nginx 示例

超时配置

proxy_connect_timeout 5s; proxy_read_timeout 60s;

502 场景

  • 后端服务挂掉
  • Nginx 无法建立连接
  • 返回 502

504 场景

  • 后端处理超过 60 秒
  • Nginx 等待超时
  • 返回 504

异常请求防护


分层防御体系

层级方案
基础设施层防火墙 + CDN
网关层Nginx 限流
API 网关层Redis 限流
业务层Sentinel 熔断
数据层连接池 + 读写分离

第一层:基础设施

作用:

  • 防 DDoS
  • 防 CC 攻击

第二层:Nginx

限制:

  • 连接数
  • IP 频率
  • 请求大小

超出:

429 Too Many Requests

第三层:API 网关

使用:

  • Redis 限流器

实现:

  • 用户级限流
  • 接口级限流

第四层:业务层

使用:

  • Sentinel

能力:

  • 熔断
  • 降级
  • 线程池隔离

第五层:数据层

优化:

  • 数据库连接池
  • 慢 SQL 熔断
  • 读写分离

限流算法


常见限流算法

一、固定窗口

特点:

  • 简单

缺点:

  • 临界突变

二、滑动窗口

特点:

  • 更平滑

应用:

  • Nginx

三、漏桶

特点:

  • 输出速率绝对稳定

适合:

  • 保护下游系统

四、令牌桶

特点:

  • 平滑限流
  • 支持突发流量

应用:

  • Sentinel
  • Guava RateLimiter

五、实际方案

单机限流

  • Guava RateLimiter

分布式限流

  • Redis + 滑动窗口
  • Redis + 令牌桶
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 4:05:21

深度解析ST意法半导体LIS3DHTR:三轴加速度传感器的“市场宠儿”

在MEMS传感器遍地开花的今天,一款产品能否在消费电子、工业控制和医疗健康等多重赛道中持续“出圈”,考验的不仅是技术硬实力,更是产品定义的前瞻性与生态配套能力。意法半导体的LIS3DHTR,正是这样一颗久经市场检验的“明星级”加…

作者头像 李华
网站建设 2026/6/9 4:03:20

CAPL字符串处理实战:手写一个自己的“split”函数解析CSV

CAPL字符串处理实战:手写一个自己的“split”函数解析CSV在汽车电子测试领域,CAPL(CAN Access Programming Language)作为Vector工具链中的核心脚本语言,其字符串处理能力往往被开发者低估。当我们需要处理CSV这类结构…

作者头像 李华
网站建设 2026/6/9 4:03:19

告别GUI:命令行玩转QFIL,用fh_loader批量读写高通芯片分区

告别GUI:命令行玩转QFIL,用fh_loader批量读写高通芯片分区在固件开发与设备测试的领域中,效率往往意味着成本。当需要处理数十台设备的分区读写时,图形界面(GUI)操作的低效性就会暴露无遗——每个点击、每次等待都在累积成不可忽视…

作者头像 李华
网站建设 2026/6/9 4:01:22

告别网盘限速困境:一个脚本解锁九大网盘全速下载新体验

告别网盘限速困境:一个脚本解锁九大网盘全速下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

作者头像 李华