Spring Cloud Gateway Hoxton.SR8 双重跨域问题

tech2022-09-18  101

2020博客地址汇总2019年博客汇总

版本

Spring Cloud :Hoxton.SR8 Spring Cloud Gateway : 2.2.5.RELEASE

现象 跨域时POST请求body内容为空,报跨域失败错误 原因是Access-Control-Allow-Origin只允许有一个值,而响应头里有多个Origin

The ‘Access-Control-Allow-Origin’ header contains multiple values “*, *”, but only one is allowed.

yml配置

spring: main: allow-bean-definition-overriding: true gateway: discovery: #是否与服务发现组件进行结合,通过 serviceId(必须设置成大写) 转发到具体的服务实例。默认为false,设为true便开启通过服务中心的自动根据 serviceId 创建路由的功能。 locator: #路由访问方式:http://Gateway_HOST:Gateway_PORT/大写的serviceId/**,其中微服务应用名默认大写访问,配置lowerCaseServiceId可用小写。 enabled: true lowerCaseServiceId: true #解决跨域问题 globalcors: corsConfigurations: '[/**]': # 允许携带认证信息 allow-credentials: true # 允许跨域的源(网站域名/ip),设置*为全部 allowedOrigins: "*" # 允许跨域的method, 默认为GET和OPTIONS,设置*为全部 allowedMethods: "*" # 允许跨域请求里的head字段,设置*为全部 allowedHeaders: "*" #解决双重跨域 RETAIN_FIRST RETAIN_LAST RETAIN_UNIQUE default-filters: - DedupeResponseHeader=Access-Control-Allow-Origin Access-Control-Allow-Credentials Vary, RETAIN_UNIQUE

参考

参考地址:https://github.com/spring-cloud/spring-cloud-gateway/issues/728
最新回复(0)