2017-02-23 21 views
1

次のコードでSpring Cloud Eurekaサーバー内でCORSを有効にしようとしていますが、動作していないようです。春のクラウドnetflix - ユーレカ - CORSを有効にする方法

@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("*"); 
      } 
     }; 
    } 
} 

答えて

2

あなたはユーレカでこれを必要とするが、私は@EnableZuulProxyと注釈を付けたクラスに私のZUULサーバーAKA APIGatewayにこのコードを持っているでしょう、なぜ私は知りません。 Littelはあなたのものと似ていますが、WebMVCConfigurerではなくCorsFilterを使っています。

@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); 
} 
+2

ありがとうGrinish。それは私の問題を解決するために私がやったことです。我々は最終的にZuulを紹介し、ユーレカは外部にさらされていないと思われる。 – Ray

関連する問題