当前位置: 首页 > news >正文

Nginx 反向代理如何配置透传 JWT 令牌到后端微服务?

在 Nginx 反向代理配置中,通过 proxy_set_header Authorization $http_authorization 指令可直接透传 JWT 令牌,默认 proxy_connect_timeout 为 60 秒,超时会导致令牌验证请求失败。

原因分析

JWT 令牌通常存放在 HTTP 请求头的 Authorization 字段中,格式为 Bearer<token>。Nginx 作为反向代理时,默认不会自动转发所有请求头到后端服务,需要显式配置 proxy_set_header 指令。根据 2026 年 2 月 5 日发布的 GLM-4-9B-Chat-1M 企业部署架构文档,生产环境中需要在 Nginx 层解析 Authorization:Bearer<token>,提取 user_id、role、scope 等声明,转发时注入 X-User-ID、X-Role 等可信头给后端。

解决方案

1. 基础透传配置

在 Nginx 配置文件的 location 块中添加以下指令:proxy_set_header Authorization $http_authorization;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;根据 2026 年 4 月 7 日发布的 Nginx 反向代理基础教程,proxy_pass 末尾的/很重要,它会把/api/前缀去掉,只转发剩余路径给后端。

2. JWT 校验与解析(进阶方案)

采用 lua-resty-jwt 模块在 Nginx 中完成令牌解析与校验,密钥存于服务器环境变量。根据 2026 年 2 月 5 日企业部署架构方案,支持自定义 claim 校验逻辑,例如仅允许 role:sales 访问特定接口。配置示例:access_by_lua_block{local jwt=require("resty.jwt");local jwt_obj=jwt:verify("your-secret-key",ngx.var.http_authorization);if not jwt_obj.verified then ngx.exit(401);end};

3. 超时与重试配置

根据 2026 年 2 月 2 日的 nginx 反向代理配置详解,常用超时参数包括:proxy_connect_timeout 默认 60s、proxy_read_timeout 默认 60s、proxy_send_timeout 默认 60s。生产环境建议调整为:proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 10s;

注意事项

1. proxy_pass 末尾斜杠问题:2026 年 4 月 7 日教程明确指出,proxy_pass http://127.0.0.1:3000/;末尾的/会把/api/前缀去掉,如果写成 proxy_pass http://127.0.0.1:3000;则前缀会保留,后端可能收到错误路径。

2. HTTPS 后端代理:2026 年 4 月 7 日资料提到,代理到 HTTPS 后端时需把 proxy_pass 改为 https://example.com/,并加 proxy_ssl_verify off;仅测试环境使用,生产环境请配好证书。

3. WebSocket 支持:如需透传 JWT 到 WebSocket 服务,在 location 块里加两行:proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";

4. 监听端口安全:根据 2023 年 10 月 22 日阿里云开发者社区资料,Nginx 正向代理监听端口如 82,反向代理通常监听 80 或 443,生产环境不应直接暴露后端服务端口。

参考来源

来源:GLM-4-9B-Chat-1M 企业部署架构文档 - Nginx 反向代理+HTTPS+JWT 鉴权完整方案(2026 年 2 月 5 日)

来源:Nginx 反向代理基础教程 - 从零开始配置后端服务器转发(2026 年 4 月 7 日)

来源:nginx 反向代理配置详解 - 常用参数与超时设置(2026 年 2 月 2 日)

来源:阿里云开发者社区 - Nginx 反向代理模块指令详解(2023 年 10 月 22 日)

原文链接:https://www.zjcp.cc/ask/9622.html

http://www.jsqmd.com/news/753625/

相关文章:

  • AI道德推理:技术实现与工程实践
  • AI驱动的Git冲突自动解决:rizzler工具原理、部署与安全实践
  • 助睿实验作业1_完整版_带预留区
  • 2026衡阳卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • 手把手调试AUTOSAR诊断通信:从CanTp分帧到PduR路由,实战抓包分析数据流
  • AO3镜像站终极使用指南:3步快速解决同人作品访问难题
  • Axolotl环境搭建与第一个训练任务(详细教程)-实战落地指南
  • 自指拓扑场论:三维几何、粒子与相互作用V1.0(世毫九实验室原创研究)
  • 智慧职教智能学习助手终极指南:3分钟实现全平台自动化学习
  • 深度观察 | 撕下浪漫滤镜:精品可可的“绝对复现”与残酷真相
  • 山东大学软件学院项目实训:基于AI大模型的智能考研助手(三)
  • YOLO11涨点优化:特征融合优化 | 引入RepPAN结构,基于重参数化技术重构YOLO11的特征金字塔
  • Taotoken计费透明化如何让个人开发者清晰掌控预算
  • 2026廊坊卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • 别再为笔记本烧录STM32发愁了!手把手教你用CH340模块搞定程序下载(附FlyMcu配置)
  • Scrum Meeting 07
  • 检索增强世界模型(R-WoM)原理与应用实践
  • 【刷题】力扣739.每日温度
  • 基于Go与Wails的本地AI智能体WinClaw:原理、部署与Python技能扩展
  • 避坑指南:MindFormers框架中tokenizers版本兼容性引发的那些‘坑’(以ChatGLM2为例)
  • 如何快速配置ViGEmBus虚拟手柄驱动:Windows游戏兼容性终极解决方案
  • 别再复制粘贴了!手把手教你为STM32F103C8T6搭建一个干净、可复用的固件库工程模板
  • 终极德州扑克GTO求解器:5个快速提升扑克水平的免费工具
  • 2026拉萨卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • YOLO11涨点优化:Neck二次创新 | 融合FPT (Feature Pyramid Transformer),在空间、通道、尺度三个维度全方位交互
  • kaggle cli无法下载大数据集
  • 2026济南卫生间免砸砖防水、外墙、地下室、楼顶渗漏+彩钢瓦、阳光房隔热 本地专业防水公司TOP5权威推荐(2026年5月本地最新深度调研) - 企业资讯
  • VECT 2.0勒索软件深度剖析:伪装成加密工具的致命数据擦除器
  • 【C语言】static 关键字详解
  • LeetCode 73. matrix置0(文章重点是怎样打印二维数组)