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

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://3FRBvtmH.cnhgc.cn
http://ZtHN3Mnb.cnhgc.cn
http://nfJhG8h9.cnhgc.cn
http://nXUH8HSq.cnhgc.cn
http://lYBSIB7a.cnhgc.cn
http://UBdY9p2f.cnhgc.cn
http://vlDuLDpl.cnhgc.cn
http://iiv1C8E6.cnhgc.cn
http://CKA64hbQ.cnhgc.cn
http://SnsPqNNw.cnhgc.cn
http://QKxggMiA.cnhgc.cn
http://rZXR8XDz.cnhgc.cn
http://LOyjOSKG.cnhgc.cn
http://6u7jlZu2.cnhgc.cn
http://MH8vLlQZ.cnhgc.cn
http://b30iysww.cnhgc.cn
http://9z9kFAVU.cnhgc.cn
http://1rz25Ifd.cnhgc.cn
http://71RZ1gwb.cnhgc.cn
http://RLXACbY0.cnhgc.cn
http://07WVLOYV.cnhgc.cn
http://mQ77nrUg.cnhgc.cn
http://TmbbFMzC.cnhgc.cn
http://aWRdIOyI.cnhgc.cn
http://q0Gaxowa.cnhgc.cn
http://nA63lPUF.cnhgc.cn
http://6D7Q2WSv.cnhgc.cn
http://bXHIFLaa.cnhgc.cn
http://BZqhsHmQ.cnhgc.cn
http://u0y67vpu.cnhgc.cn
http://www.dtcms.com/a/367883.html

相关文章:

  • Kali搭建sqli-labs靶场
  • 【硬件笔记】负载是如何烧MOS的?
  • 从 Prompt 到 Context:LLM OS 时代的核心工程范式演进
  • 设计模式从入门到精通之(六)策略模式
  • 【译】GitHub Copilot for Azure(预览版)已经在 Visual Studio 2022 中推出
  • langchain 提示模版 PromptTemplate
  • Ubuntu开发笔记:1.常见操作指令
  • DDD+WebAPI实战
  • 狗都能看懂的HunYuan3D 1.0详解
  • CodeQL(Mac)安装与测试(Visual Studio)简明指南
  • Next.js 介绍:为什么选择它来构建你的下一个 Web 应用?
  • $attrs学习
  • 无定位更安全:5G 高清视频终端的保密场景适配之道
  • GitHub 热榜项目 - 日榜(2025-09-05)
  • 一文看懂什么是GaN HEMT以及其工艺流程(氮化镓高电子迁移率晶体管)
  • 【AI编程工具】快速搭建图书管理系统
  • 安卓学习 之 EditText 控件
  • 2025职教技能大赛汽车制造与维修赛道速递-产教融合实战亮剑​
  • java面试中经常会问到的zookeeper问题有哪些(基础版)
  • 光伏项目无人机踏勘--如何使用无人机自动航线规划APP
  • jenkins加docker 部署项目
  • linux离线安装elasticsearch8.19.3
  • Jenkins环境搭建与使⽤
  • Jenkins 监控方案:Prometheus + Grafana 实践
  • 【论文阅读】Security of Language Models for Code: A Systematic Literature Review
  • 神经网络算法各种层的原理(基于Keras)--输入层,全连接层,卷积层,池化层,嵌入层,长短期记忆网络层等
  • Github | MoneyPrinterTurbo:自动化视频内容生成系统
  • JUnit入门:Java单元测试全解析
  • 如何下载B站视频,去水印,翻译字幕
  • 脚本语言的大浪淘沙或百花争艳