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

如何在Nginx/AWS-ALB配置根路径访问静态首页其余路径转发至应用服务

该需求完全可以在Nginx和AWS ALB上实现,具体配置方案如下:

Nginx 配置方案

核心利用Nginx location 规则的优先级差异实现:精确匹配根路径返回静态页,其余所有请求转发到Tomcat。

  • 配置示例:
server {
    listen 80;
    server_name example.com; # 替换为实际业务域名

    # 精确匹配根路径,仅响应example.com/(含带查询参数的根路径请求)
    location = / {
        root /data/static/home; # 替换为静态首页文件所在的实际目录
        index index.html;
    }

    # 匹配所有非根路径的请求,转发到Tomcat
    location / {
        proxy_pass http://127.0.0.1:8080; # 替换为Tomcat实际访问地址,多实例可配置upstream
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  • 规则说明:Nginx中精确匹配规则location = /优先级远高于普通前缀匹配location /,只有请求路径完全为/时才会返回静态页,其余所有路径无论有没有统一前缀都会走转发逻辑。
AWS ALB 配置方案

核心通过ALB监听器的路径匹配规则优先级实现:

  1. 先创建两个目标组:
    • 静态资源目标组:将存放静态首页的S3桶/EC2静态服务实例注册到该组
    • Tomcat业务目标组:将所有Tomcat服务实例注册到该组
  2. 为ALB对应的HTTP/HTTPS监听器添加两条规则:
    • 高优先级规则(优先级设置为1):匹配模式选择路径精确匹配,匹配值填/,动作设置为转发到静态资源目标组
    • 低优先级默认规则(优先级保持默认最高值即可):匹配模式选择路径前缀匹配*,动作设置为转发到Tomcat业务目标组
  • 规则说明:ALB精确路径匹配会自动忽略查询参数,example.com/?id=1这类带参数的根路径请求也会命中静态页规则,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:09