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

AWS ALB无尾斜杠路径跳转至HTTP 8080端口无法加载问题咨询

问题根因
  • 该问题并非ALB层面导致,源于Nginx默认的目录路径自动补全重定向行为:当客户端请求不带尾斜杠的路径,且Nginx的root目录下存在和路径同名的目录时,Nginx会默认返回301重定向,自动为路径补全尾斜杠。
  • 你的Nginx直接监听8080端口,未配置外层ALB的协议、域名感知逻辑,因此生成的重定向地址使用了Nginx自身的监听配置,即http://<当前域名>:8080/<补全斜杠后的路径>,你看到的错误重定向地址就是Nginx返回的,而非ALB生成。
  • 用户浏览器收到该重定向后会直接请求8080端口的HTTP地址,而你的ALB仅开放了80、443端口的公网访问,8080端口无公网监听规则,因此请求无法到达ALB及后端Nginx,最终超时。
解决方案

可任选以下任一方案修复:

方案1:使用相对路径重定向(最简单快速)

在现有location块中新增absolute_redirect off配置即可,修改后的完整配置如下:

location / {
    limit_except GET { deny all; }
    root /root/of/project/;
    index index.html;
    absolute_redirect off;
    try_files $uri $uri/ /index.html;
}

该配置会关闭Nginx的绝对路径重定向逻辑,重定向响应仅返回相对路径,浏览器会自动拼接当前页面的HTTPS协议、域名、443端口,生成正确的请求地址。

方案2:配置Nginx感知ALB转发信息

如果需要保留绝对路径重定向,可配置Nginx读取ALB传递的X-Forwarded-*头来生成正确的重定向地址,参考配置如下:

server {
    listen 8080;
    server_name example.com; # 替换为你的实际访问域名
    # 配置信任ALB的转发头,网段替换为你的VPC实际网段
    set_real_ip_from 10.0.0.0/8;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;

    port_in_redirect off;

    location / {
        limit_except GET { deny all; }
        root /root/of/project/;
        index index.html;
        try_files $uri $uri/ /index.html;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:18:03