gateway 报错 allowedOrigins cannot contain the special value "*"
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 www.fhadmin.org]
问题原因,新版本的gateway 取消了allowedOrigins, 对应的变更为 allowedOriginPatterns
配置修改为:
#--------gateway配置-------- #使用服务发现路由 spring.cloud.gateway.discovery.locator.enabled=true #服务路由名小写 spring.cloud.gateway.discovery.locator.lower-case-service-id=true #跨域配置(java www.fhadmin.org) 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
赞 (0)