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

如何配置Nginx反向代理将请求转发至上游应用子路径

Nginx反向代理配置实现路径映射与访问控制

完全可行,以下是具体的配置方案,既能实现入站请求到上游/module1子路径的映射,又能严格限制只能访问该子路径下的内容:

# 你的上游服务配置(保留现有内容即可)
upstream app_demo {
    server 你的上游服务IP:端口; # 替换为实际地址
}

server {
    listen 80; # 若用HTTPS则改为443并配置证书
    server_name 你的域名; # 替换为实际域名

    # 核心:将所有入站请求转发到上游的/module1路径下
    location / {
        # 把入站的/xxx重写为/module1/xxx,确保上游收到的请求都是/module1开头
        rewrite ^/(.*)$ /module1/$1 break;
        proxy_pass http://app_demo;
        
        # 可选:配置代理头部,让上游服务正确识别请求来源
        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;
    }

    # 安全兜底:拦截所有试图访问上游非/module1路径的请求,直接返回403
    location ~ ^/(welcome|aboutus|contactus|module)/ {
        return 403 Forbidden;
    }
}

配置关键点说明

  • 路径映射逻辑:rewrite规则会把所有入站的/page1这类请求,转换成上游服务的/module1/page1,完全符合你的需求。
  • 访问控制:第二个location会直接拦截所有指向/welcome、/aboutus等上游非/module1路径的请求,返回403禁止访问,即使有异常请求也无法突破限制。
  • proxy_pass注意事项:这里不要在proxy_pass后面追加路径(比如proxy_pass http://app_demo/;),否则会和rewrite规则冲突,确保上游收到的是重写后的完整路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 02:05:03