java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead. at org.springframework.web.cors.CorsConfiguration.validateAllowCredentials(CorsConfiguration.java:460) Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): |_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain][from fhadmin.cn]
问题原因,新版本的gateway 取消了allowedOrigins, 对应的变更为 allowedOriginPatterns
配置修改为:
#--------gateway配置---fhadmin.cn----- #使用服务发现路由spring.cloud.gateway.discovery.locator.enabled=true #服务路由名小写spring.cloud.gateway.discovery.locator.lower-case-service-id=true #跨域配置 spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedOriginPatterns=* spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedHeaders=* spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedMethods=* spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowCredentials=true
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31558068/viewspace-2789868/ ,如需转载,请注明出处,否则将追究法律责任。