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

Nginx proxy_pass 斜杠区分

Nginx proxy_pass 斜杠区分

斜杠区分不清楚

问题

nginx代理后的地址记录不清

Nginx proxy_pass 两种规则完整解析 + Mermaid示意图

核心底层规则总结

规则A:proxy_pass 末尾无 /(无目录后缀)

转发拼接逻辑:代理完整地址 + 客户端完整请求URI

代理地址原样拼接原始全部URL路径,location匹配前缀不会剔除

规则B:proxy_pass 末尾带 /(有目录)

转发拼接逻辑:代理地址固定目录 + 客户端URI剔除location匹配到的前缀部分

会把location匹配命中的路径截掉,只拼接剩余后缀


Mermaid 流程图(1:1逻辑示意)

情况2 proxy_pass http://backend/

情况1 proxy_pass http://backend

客户端请求: /api/user/list

location /api

proxy_pass http://backend

转发目标:http://backend/api/user/list

location /api

proxy_pass http://backend/

转发目标:http://backend/user/list

统一前置约定

后端服务基础域名:http://127.0.0.1:8080
客户端统一原始请求:http://当前Nginx域名/匹配前缀/剩余路径

10组区分案例(5组无/、5组带/,两两对照)

案例1

无/写法

location /api { proxy_pass http://127.0.0.1:8080; }

访问URL:/api/login
转发地址:http://127.0.0.1:8080/api/login

带/对照写法

location /api { proxy_pass http://127.0.0.1:8080/; }

访问URL:/api/login
转发地址:http://127.0.0.1:8080/login

案例2

无/

location /img/ { proxy_pass http://127.0.0.1:8080/static; }

访问:/img/avatar/1.png
转发:http://127.0.0.1:8080/staticavatar/1.png

带/

location /img/ { proxy_pass http://127.0.0.1:8080/static/; }

访问:/img/avatar/1.png
转发:http://127.0.0.1:8080/static/avatar/1.png

案例3

无/

location / { proxy_pass http://127.0.0.1:8080; }

访问:/goods/detail
转发:http://127.0.0.1:8080/goods/detail

带/

location / { proxy_pass http://127.0.0.1:8080/; }

访问:/goods/detail
转发:http://127.0.0.1:8080/goods/detail

注:location / 两种写法结果一致,匹配前缀是空,无内容可剔除


极简记忆口诀

  1. proxy_pass 无尾斜杠 /
    全量URL直接拼接,location匹配的前缀保留
  2. proxy_pass 有尾斜杠 /
    砍掉location匹配到的路径,只拼接后面剩余部分
  3. location /两种写法无区别,匹配前缀为空,不会截断任何路径
http://www.jsqmd.com/news/1092059/

相关文章:

  • Storprototrace高级配置:如何自定义统计项和过滤规则
  • 2026多场景会议内容自动整理方案AI识别提速 清晰省事效率高
  • 枚举类型相关
  • 把历史对话作为提示词会怎样
  • 破解教育系统定制化难题:3个MeEdu Hook系统实战解决方案
  • 如何利用ReadCat阅读器打造纯净小说阅读体验:完整使用指南
  • 面试官挖坑:Gemini有2M上下文,Agent还要记忆干嘛?
  • AI是如何理解和生成代码的?
  • 文件上传漏洞攻防全解析:从原理到实战的Web安全必修课
  • 容器编排平台:调度算法与服务发现的机制
  • Strix Halo 芯片前瞻,端侧 AI 未来的硬件想象力
  • MPLS、IPLC与SD-WAN的技术定位与融合演进
  • 工业机器人供应商选型指南:如何评估技术口碑与产品线覆盖度?仙工智能给你答案
  • 解构工业级机器狗落地痛点:如何布局复杂工况下的跨形态控制底座?
  • 免费开源gerbv:你的PCB设计验证终极指南
  • 【招聘】嫉妒,是最被低估的猎头武器
  • TI MSPM0汽车MCU深度评测:低成本高集成度方案重塑车身电子设计
  • PHP AES-ECB加密完整实现:从原理到安全实践
  • 3步掌握SMUDebugTool:解锁AMD Ryzen处理器深度调试的完整方案
  • 从零到一:手把手教你用Elsevier cas-sc LaTeX模板完成投稿
  • 思科模拟器实战:二层与三层链路聚合的配置差异与排错指南
  • 魔珐星云SDK实战测评:重构数字人交互的底层逻辑
  • 微信聊天记录删了还能找回来?自带 3 个隐藏功能
  • 移动开发技术跨平台框架ReactNative与Flutter的比较
  • 性能基准测试对比,AMD GPU 在大 Batch 场景下的真实表现
  • Codex 桌面端新手使用教程
  • 计算机毕业设计之基于深度学习的苹果成熟度识别系统的设计与实现
  • SMUDebugTool终极指南:免费AMD Ryzen硬件调试工具快速上手
  • 俄罗斯OZON跨境运营流程及工具
  • HS2-HF Patch:Honey Select 2的终极增强解决方案