spring-cloud - “DedupeResponseHeader”不适用于 Greenwich.SR3
问题描述
DedupeResponseHeader在 Spring Cloud Greenwich.SR3中对我不起作用,我在 application.yml 中添加了 CORS 配置,下游应用程序也在响应标头中发送 Access-Control-Allow-Origin,最终结果为:
“Access-Control-Allow-Origin”标头包含多个值“http://localhost:4200, http://localhost:4200”,但只允许一个。
我使用了 DedupeResponseHeader但这对我不起作用仍然在浏览器控制台中看到相同的错误。以下是 CORS 和DedupeResponseHeader的配置:
spring:
cloud:
gateway:
default-filters:
- DedupeResponseHeader=Access-Control-Allow-Origin, RETAIN_UNIQUE
globalcors:
add-to-simple-url-handler-mapping: true
corsConfigurations:
'[/**]':
allowedOrigins: "http://localhost:4200"
allowedMethods: "*"
allowedHeaders: "*"
也试过过滤器,但也没有用
spring:
cloud:
gateway:
routes:
- id: dedupe_response_header_route
uri: http://localhost:4200
predicates:
- Method=OPTIONS
- Method=GET
filters:
- DedupeResponseHeader=Access-Control-Allow-Origin
无法弄清楚它不起作用的原因,仔细检查了spring cloud版本。我很感激,如果有人可以帮助理解为什么 DedupeResponseHeader 不起作用。
解决方案
您可以使用最新版本的 spring cloud 即 2020.0.2 --- 它在那里完美运行。
推荐阅读
- python - 参数是如何传入构造函数的?
- reactjs - 在 Reactjs 中包含头 html 文件
- php - 使用 while 循环在 html 表中显示 php 数据
- javascript - 如何从我的 Vue JS 项目的文件夹中导入 JS 文件?
- typescript - Typescript 扩展 DataType 交替无法编译
- jquery - 我可以提供 HTML 来使用 jQuery 填充 div 吗?
- python-3.x - Python:如何将数据框中的“日期时间”替换为仅表示为整数值的日期?
- android-studio - 如何按 day_of_week 更改我的背景图片
- java - 如何在 Android 上管理四个微调器?
- reactjs - 如何使用 react-router-dom 验证路径变量