【发布时间】:2018-04-17 14:45:06
【问题描述】:
我在 Zuul 网关后面有一个 Spring Boot 服务,部署在远程服务器上。我通过本地机器上的 Ionic 应用程序访问这些。我在 Zuul 应用程序中设置了一个 corsFilter,如下所示:
@Bean
public FilterRegistrationBean corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new org.springframework.web.filter.CorsFilter(source));
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
请求被 Zuul 接受并传递给微服务(我可以在微服务日志中看到)但是微服务拒绝请求并返回 403 错误“无效 CORS 请求”。
有什么想法吗?
【问题讨论】:
-
微服务的日志是怎么说的?如果您在那里使用任何外部的东西,它的文档说明了它将采用或要求哪些 CORS 标头/参数?
-
微服务日志什么也没说,只是我添加的过滤器中的打印输出。它是一个混合的 Java / Kotlin 服务,会产生影响吗?
-
@AdamK 你有什么解决方案吗,我也面临同样的问题,我也有同样的项目结构。
-
@Pallavi 不,抱歉,我无法解决问题。我不再从事这个项目,所以从那以后我就再也没有看过。对不起。
标签: spring-boot cors netflix-zuul