首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring cloud netflix - Eureka -如何启用CORS

Spring cloud netflix - Eureka -如何启用CORS
EN

Stack Overflow用户
提问于 2017-02-24 02:37:01
回答 2查看 1.9K关注 0票数 1

我尝试通过以下代码在Spring Cloud Eureka服务器中启用CORS,但似乎不起作用。

代码语言:javascript
复制
@SpringBootApplication
@EnableEurekaServer
@EnableDiscoveryClient
public class EurekaApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(EurekaApplication.class, args);
    }

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowedHeaders("*");
            }
        };
    }
}
EN

回答 2

Stack Overflow用户

发布于 2017-02-25 02:02:09

我不知道你为什么在Eureka中需要这个,但是我在我的ZUUL Server AKA APIGateway中的类上有这个代码,用@EnableZuulProxy注释。WebMVCConfigurer类似于你所拥有的,但我正在使用CorsFilter而不是Littel,你可以试一试,看看它是否对你有帮助。

代码语言:javascript
复制
@Bean
public CorsFilter corsFilter() {
    final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    final CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("*");
    config.addAllowedHeader("*");
    config.addAllowedMethod("OPTIONS");
    config.addAllowedMethod("GET");
    config.addAllowedMethod("PUT");
    config.addAllowedMethod("POST");
    config.addAllowedMethod("DELETE");
  ;
    source.registerCorsConfiguration("/**", config);
    return new CorsFilter(source);
}
票数 3
EN

Stack Overflow用户

发布于 2021-08-14 22:11:23

在您的主类中插入以下内容:

代码语言:javascript
复制
public @Bean FilterRegistrationBean<?> corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("http://localhost:4200");
    config.addAllowedMethod("*");
    config.addAllowedHeader("Accept");
    source.registerCorsConfiguration("/**", config);
    FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<Filter>(new CorsFilter(source));
    bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
    return bean;
}

完整示例:https://github.com/EffNox/spring_eureka-rest-operations-angular

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42423624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档