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

自定义域名xyz.com搭配AWS ALB无法访问Swagger UI求助

问题排查与解决方案

针对你遇到的自定义域名HTTPS访问Swagger UI返回404的问题,以下是具体的排查方向和解决建议:

1. 检查ALB 443监听器的路径转发规则

  • 确认443监听器配置了默认转发规则(无路径匹配条件,直接转发至目标组8080),避免存在针对/swagger/*路径的拦截或错误规则。
  • 对比8080监听器和443监听器的规则配置,确保两者完全一致——8080能正常转发,443可能因规则遗漏导致路径无法正确传递。

2. 验证Swagger UI的路径与请求头适配配置

  • 检查Web应用的Swagger配置:比如Spring Boot的springdoc.swagger-ui.path、.NET的SwashbuckleRoutePrefix,确认未绑定特定端口或主机名。
  • 查看开发者工具Network面板:确认404是/swagger/index.html本身,还是它引用的静态资源(JS/CSS)。如果是后者,可能是Swagger根据HTTP请求头生成了错误的资源路径(比如仍使用HTTP协议或负载均衡器域名)。
  • 确保应用能正确识别ALB转发的X-Forwarded-Proto、X-Forwarded-Host头,Swagger依赖这些头生成正确的资源访问路径。

3. 确认目标组的路径转发完整性

  • 检查目标组是否保留完整请求路径转发:ALB默认会保留路径,但如果自定义规则修改了路径(比如重写),会导致后端收到的路径与请求不一致。
  • 查看Web应用的访问日志,对比HTTPS请求与HTTP请求的路径:确认HTTPS请求的/swagger/index.html是否完整传递到后端,而非被修改为其他路径。

4. 排查HTTP到HTTPS重定向的路径丢失问题

  • 如果配置了80端口到443的重定向,检查重定向规则是否保留原路径:比如http://xyz.com/swagger/index.html需正确重定向到https://xyz.com/swagger/index.html,而非仅重定向到根目录。
  • 即使直接访问HTTPS,也要确认ALB未在转发时篡改请求路径或头信息。

5. 验证Route53与ALB的关联正确性

  • 确认Route53的A别名记录指向ALB的完整DNS名称,而非其他资源。
  • 使用nslookup xyz.com或dig xyz.com验证域名解析到的IP,与负载均衡器URL解析的IP一致。

6. 检查Web应用的监听与协议过滤逻辑

  • 确认Fargate容器内的Web应用监听的是0.0.0.0:8080(而非仅localhost),健康检查通过已排除此问题,但仍需确认。
  • 排查应用是否存在基于协议的路径拦截:比如仅允许HTTP请求访问/swagger路径,拒绝HTTPS请求。

示例修正(Spring Boot应用)

如果是Spring Boot,确保Swagger配置不限制主机且适配反向代理:

@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info().title("API Documentation").version("v1"));
    }

    @Bean
    public SwaggerUiCustomizer swaggerUiCustomizer() {
        return ui -> {
            ui.path("/swagger/index.html");
            ui.enableDeepLinking(true);
            ui.useRootPath(false);
        };
    }

    // 配置反向代理头识别
    @Bean
    public ForwardedHeaderFilter forwardedHeaderFilter() {
        return new ForwardedHeaderFilter();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 06:04:54