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

SpringBoot应用部署AWS后出现Cors Error问题求助

SpringBoot部署AWS后CORS错误排查与解决

核心排查与解决方向

1. 确认AWS环境的配置参数

  • 检查部署环境下的application.properties/application.yml,确保cors.allowed-origins和cors.allowed-methods配置正确(比如设置为*或者前端实际的生产域名)。本地测试的配置可能未同步到AWS部署包,或被环境变量覆盖。
  • 若用AWS Secrets Manager/Parameter Store管理配置,确认参数值符合预期。

2. 检查AWS网关/负载均衡的外层CORS配置

AWS的API Gateway、ELB等服务会优先处理CORS规则,可能覆盖SpringBoot的配置:

  • 若使用API Gateway:需在控制台手动配置CORS,允许对应来源、方法、头部,确保预检OPTIONS请求能正常通过。
  • 若使用ELB:检查负载均衡器的监听规则,是否拦截了OPTIONS请求,或存在额外安全策略限制跨域请求。

3. 完善SpringBoot的CORS配置

当前配置存在调用逻辑问题(forEach调用allowedOrigins会覆盖之前设置),且缺少必要头部支持,修改后的配置如下:

public class WebMvcConfig implements WebMvcConfigurer {

    @Value("#{'${cors.allowed-origins}'.split(',')}")
    private List<String> allowedOrigins;

    @Value("#{'${cors.allowed-methods}'.split(',')}")
    private List<String> allowedMethods;

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**")
                .allowedOrigins(allowedOrigins.toArray(new String[0]))
                .allowedMethods(allowedMethods.toArray(new String[0]))
                .allowedHeaders("*") // 允许所有请求头部,适配自定义头部或Content-Type
                .allowCredentials(true); // 若前端需携带Cookie/认证信息则开启
    }
}

4. 排查Spring Security拦截(若使用)

如果项目集成了Spring Security,需确保OPTIONS预检请求被放行:

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()
            .authorizeRequests()
            .antMatchers(HttpMethod.OPTIONS, "/api/**").permitAll() // 放行OPTIONS请求
            // 其他认证授权规则...
            .and().csrf().disable(); // 若不需要CSRF可临时关闭排查
    }
}

5. 验证前端请求地址

确认前端生产环境的请求地址是AWS后端的公网域名/IP,而非本地地址;同时查看浏览器控制台错误信息,确认实际被拦截的来源是否与配置的allowedOrigins匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:22:32