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

使用NGINX作为API负载均衡时如何为upstream节点追加指定路径

解决方案

NGINX的upstream块仅用于定义后端服务节点的IP+端口信息,路径拼接逻辑不需要写在upstream中,直接在location块的proxy_pass配置中补全即可。

适配原有场景的配置

如果你需要和之前单后端配置效果一致,所有请求都直接转发到后端的固定路径/api/darkshield/searchContext.mask,不需要保留客户端请求路径,直接修改proxy_pass配置即可,完整可运行配置如下:

upstream backend{
    server localhost:8080;
    server localhost:8081;
}

server {
    listen       80;
    server_name  localhost;

    location / {
        # 直接在upstream名称后补全需要的固定路径即可
        proxy_pass http://backend/api/darkshield/searchContext.mask;
        # 可选补充代理头配置,避免后端服务获取异常
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

保留客户端请求路径的配置

如果你的场景需要将客户端请求的URI追加到固定路径之后,比如客户端请求/query?kw=test需要转发到http://backend/api/darkshield/searchContext.mask/query?kw=test,可以用rewrite规则实现:

upstream backend{
    server localhost:8080;
    server localhost:8081;
}

server {
    listen       80;
    server_name  localhost;

    location / {
        # 重写路径,将请求URI追加到固定路径后
        rewrite ^/(.*)$ /api/darkshield/searchContext.mask/$1 break;
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:24:05