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

nginx 反向代理使用变量的坑

nginx采用反向代理的时候使用变量的坑

正常情况:

location ~ ^/prod-api(?<rest>/.*)?$ {# 假设 $mes_backend 形如: http://127.0.0.1:16889proxy_pass $mes_backend$rest$is_args$args;proxy_http_version 1.1;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;# WebSocket 支持proxy_set_header Upgrade           $http_upgrade;proxy_set_header Connection        $connection_upgrade;# 可选:更稳的请求体转发proxy_request_buffering on;client_max_body_size 10m;proxy_read_timeout 60s;
}

如果你使用变量,仍会把请求转到后端的根路径(或保留了错误的前缀)

预期是 http://域名/prod-api/XXX 到后端是 http://localhost:16888/XXX
实际上到后端是 http://localhost:16888/prod-api/XXX

set $mes_backend http://127.0.0.1:16889;location /prod-api/ {proxy_pass $mes_backend;... 其他代理内容
}

正确写法

location ~ ^/prod-api(?<rest>/.*)$ {# proxy_pass http://127.0.0.1:16889/;# 采用变量的形式,如果是常量的形式就没有这种异常proxy_pass $mes_backend$rest;...其他内容
}
http://www.xdnf.cn/news/20341.html

相关文章:

  • 亚马逊商品转化率怎么提高?从传统运营到智能广告的系统化突破
  • Nginx 配置片段主要用于实现​​正向代理​​,可以用来转发 HTTP 和 HTTPS 请求
  • LangChain关于提示词的几种写法
  • 深度学习:Dropout 技术
  • c++ 第三方库与个人封装库
  • 【完整源码+数据集+部署教程】西兰花实例分割系统源码和数据集:改进yolo11-AggregatedAtt
  • leetcode 6 Z字形变化
  • 基于YOLOv8的车辆轨迹识别与目标检测研究分析软件源代码+详细文档
  • 整理了几道前端面试题
  • 字符串格式化——`vsnprintf`函数
  • 图像处理:实现多图点重叠效果
  • More Effective C++ 条款29:引用计数
  • 【完整源码+数据集+部署教程】骰子点数识别图像实例分割系统源码和数据集:改进yolo11-DCNV2
  • 【知识点讲解】模型扩展法则(Scaling Law)与计算最优模型全面解析:从入门到前沿
  • 深入了解synchronized
  • 2025世界职校技能大赛总决赛争夺赛汽车制造与维修赛道比赛资讯
  • 告别Qt Slider!用纯C++打造更轻量的TpSlider组件
  • 一文了解太阳光模拟器的汽车材料老化测试及标准解析
  • 企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent
  • 集成学习 | MATLAB基于CNN-LSTM-Adaboost多输入单输出回归预测
  • 调试技巧:Chrome DevTools 与 Node.js Inspector
  • 从零开始学大模型之大模型训练流程实践
  • Multisim14.0(五)仿真设计
  • OpenResty 和 Nginx 到底有啥区别?你真的了解吗!
  • 分布式3PC理论
  • Qt---字节数据处理QByteArray
  • 【FastDDS】Layer Transport ( 02-Transport API )
  • k8s基础练习环境搭建
  • 服务器硬盘“Unconfigured Bad“状态解决方案
  • WebSocket:实现实时通信的革命性技术