我使用 Spring Gateway 框架并配置如下。
gateway:
default-filters:
- DedupeResponseHeader=Access-Control-Allow-Origin
globalcors:
cors-configurations:
'[/**]':
allowedOrigins: "*"
allowedMethods: "*"
allowedHeaders: "*"
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在网关上执行请求时,出现以下错误。
已被 CORS 策略阻止:“Access-Control-Allow-Origin”标头包含多个值“*、*”,但只允许一个。
我不明白如何配置以避免此错误
Pab*_*997 13
尝试使用此配置:
spring:
cloud:
gateway:
default-filters:
- DedupeResponseHeader=Access-Control-Allow-Origin Access-Control-Allow-Credentials, RETAIN_UNIQUE
globalcors:
cors-configurations:
'[/**]':
allowed-origins: "*"
allowed-methods: "*"
allowed-headers: "*"
allow-credentials: true
Run Code Online (Sandbox Code Playgroud)
小智 8
除了 Pablo 的回答之外,请确保下游服务没有配置 cors,因为它们会将其标头添加到最终的响应标头中。因此,您只需为网关服务配置 cors,并且可以关闭其他服务的端口,以便只能从服务器内部访问它们。
| 归档时间: |
|
| 查看次数: |
6611 次 |
| 最近记录: |