尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Nginx代理服务器

Nginx代理服务器
📅 发布时间:2026/7/13 16:41:01

一、Nginx代理服务器的作用

Nginx代理服务器,主要是为了给网站或应用系统引入一位高效的“交通指挥官”(负载均衡,将用户请求均匀地分发到多台后端服务器上)、“安全屏障”(隐藏真实后端服务器,暴露自身IP)和“性能加速器”(缓存加速,专门处理耗时的SSL/TLS加密解密工作),来解决因用户量增长而带来的一系列技术挑战。

二、Nginx对比Spring Cloud Gateway

值得注意的是,Nginx(偏向边缘网关)与Spring Cloud Gateway(偏向内部网关)通常不是替代关系,而是分层协作。Nginx负责处理南北向流量(客户端到数据中心),承担外围的基础安全防护与性能优化;而Spring Cloud Gateway则管理东西向流量(微服务之间),处理业务相关的逻辑。

三、一次请求从浏览器发起的是怎么通过Nginx传递的

浏览器 (客户端) │ │ ① HTTP/HTTPS 请求 ▼ [ Nginx 代理服务器 ] │ ② 选择具体后端server块服务,然后根据请求的 URl 选择最合适的 location块 │ ③ 可能负载均衡、修改请求头 ▼ [ 后端服务器 1 ] 或 [ 后端服务器 2 ] (应用 + 数据库) │ ④ 生成响应 ▼ [ Nginx 代理服务器 ] ← ⑤ 可能缓存、压缩 │ ⑥ 响应(加密或不加密) ▼ 浏览器

第 1 步:浏览器发起请求

用户在浏览器地址栏输入https://example.com并回车。浏览器会做这些事情:

  • DNS 解析:将域名example.com解析成 Nginx 服务器所在机器的公网 IP(假设为203.0.113.10)。

  • 建立 TCP 连接:与203.0.113.10:443(HTTPS 默认端口)建立 TCP 连接。

  • TLS 握手(如果是 HTTPS):进行 SSL/TLS 加密握手,协商加密套件并交换证书。

  • 发送 HTTP 请求:构造并发送 HTTP 请求报文,例如:

    text

    GET /api/user HTTP/1.1 Host: example.com User-Agent: ...

第 2 步:Nginx 接收请求

  • Nginx 监听在服务器的 80(HTTP)和 443(HTTPS)端口。接收到请求后,首先通过server_name指令匹配虚拟主机(即应该由哪个server块处理)。

  • 如果配置了 HTTPS,Nginx 会完成SSL/TLS 终止:解密请求,将加密的流量转为明文 HTTP 请求,以便后续处理。这一步也减轻了后端服务的负担。


第 3 步:Nginx 处理请求(核心决策)

Nginx 在server块内部根据location指令匹配请求的 URI,决定如何处理。常见的几种情况:

情况 A:直接返回静态文件

如果请求的是图片、CSS、JS 等静态资源,Nginx 会直接从配置的root目录中读取文件并返回。例如:

nginx

location /static/ { root /var/www/html; }

此时请求不会转发给后端。

情况 B:反向代理到后端服务器(最常见)

如果请求是动态内容(如/api/user),Nginx 会通过proxy_pass将请求转发给一个或多个后端服务器。例如:

nginx

location /api/ { proxy_pass http://backend_servers; }
  • 负载均衡:如果定义了upstream组(多个后端地址),Nginx 会按照轮询、最少连接、IP hash 等算法选择一个后端。

  • 修改请求头:Nginx 会添加或修改一些头部,如X-Real-IP、X-Forwarded-For,以便后端知道客户端的真实 IP。

  • 建立新连接:Nginx 与选中的后端服务器(如192.168.1.100:8080)建立 TCP 连接,并将原始请求(URI、请求体、头部等)转发过去。


第 4 步:后端服务器处理并返回响应

  • 后端应用程序(例如 Spring Boot、Express、Django)收到来自 Nginx 的请求,执行业务逻辑(查询数据库、计算等)。

  • 生成 HTTP 响应(包含状态码、响应头和响应体),原路返回给 Nginx。


第 5 步:Nginx 接收后端响应并转发给浏览器

  • Nginx 收到后端响应后,可以根据需要再做一些处理:

    • 响应缓存:如果配置了proxy_cache,Nginx 可能会把响应缓存起来,下次相同请求可以直接返回。

    • 压缩:开启 gzip 压缩后,对响应体进行压缩。

    • 修改响应头:比如添加Cache-Control。

  • 最后,Nginx 通过之前与浏览器建立的 TCP 连接,将响应(若是 HTTPS 则先加密)发送回浏览器。


第 6 步:浏览器渲染页面

浏览器收到响应后,解析 HTML、下载依赖资源(这些资源又会发起新的请求,重复以上流程),最终呈现给用户。

相关新闻

  • 为什么选择dbrx-instruct-FP8-KV?AMD Quark技术带来的革命性AI效率提升
  • 羽毛球与代码:对抗竞技中的博弈策略如何映射到系统架构决策
  • 2026 盘点无锡可上门回收卡地亚蒂芙尼首饰:易奢福无门槛 - 奢侈品回收实体店

最新新闻

  • Leaflet-plugins标记增强:旋转、文本与Canvas图标全攻略
  • Audio Flamingo Next Think未来展望:从音频推理到语音交互的技术路线图
  • 优麦云ERP多少钱 使用优惠折扣码SPY可享7.2折 - 麦麦唛
  • GitHub界面全中文改造指南:告别英文障碍的浏览器插件解决方案
  • Nemotron-3未来展望:多模态内容安全检测的技术发展趋势
  • 重庆冰箱维修|渝帮客家电维修_重庆同城极速上门_正规连锁持证维保 - 博客万

日新闻

  • AI推荐结果怎么优化:适合深圳少儿素质培训机构的GEO服务商哪家好?全程零代码SAAS操作
  • RAG 实战教学完全指南
  • 企业级API网关架构深度解析:IBM Microgateway的技术实现与选型指南

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号