You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Nginx实现help.mycompany.com的路径分流至第三方应用与前端?

Nginx 路径分流配置方案

以下是满足需求的完整Nginx配置,实现自研前端与第三方应用的路径分流:

# 精确匹配自研前端路径:/app/test1
location = /app/test1 {
    proxy_pass http://localhost:500;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
}

# 精确匹配自研前端路径:/app/test2/test3
location = /app/test2/test3 {
    proxy_pass http://localhost:500;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
}

# 匹配自研前端路径:/app/parameter(含带参数的请求)
location ^~ /app/parameter {
    proxy_pass http://localhost:500;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
}

# 精确匹配第三方应用路径:/app/partner1
location = /app/partner1 {
    proxy_pass https://mycompany.partner.com;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host mycompany.partner.com;
    proxy_redirect off;
}

# 精确匹配第三方应用路径:/app/discuss/check
location = /app/discuss/check {
    proxy_pass https://mycompany.partner.com;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host mycompany.partner.com;
    proxy_redirect off;
}

# 兜底规则:所有未匹配的请求转发至第三方应用
location / {
    proxy_pass https://mycompany.partner.com;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host mycompany.partner.com;
    proxy_redirect off;
}

配置关键点说明

  • 精确匹配优先级:使用location =语法处理完全固定的路径(如/app/test1),确保请求不会被其他前缀规则误拦截。
  • 带参数路径处理:location ^~ /app/parameter采用前缀匹配且优先于正则匹配,无论该路径后携带什么查询参数,都会正确转发到自研前端。
  • 第三方请求适配:转发到第三方应用时,将Host头设置为mycompany.partner.com,保证第三方应用能正确识别请求来源。
  • 兜底逻辑:最后一个location /覆盖所有未被前面规则匹配的请求,实现“其他所有路径转发至第三方”的要求。

内容的提问来源于stack exchange,提问作者uberrebu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:40:25