我一直在寻找如何在使用 Spring Cloud Gateway 和 Eureka 发现时启用 CORS。
我的应用程序已启动并运行,一切正常。当我使用 Eureka 发现时,我使用 application.properties 中的以下属性为 Spring Cloud 网关启用了自动路由发现,因此我不需要自己指定(自定义)路由。
spring.cloud.gateway.discovery.locator.enabled = true
我在网上搜索过如何启用 CORS 无济于事,因为目前它的记录很差。我唯一能找到的是以下文档:https : //cloud.spring.io/spring-cloud-gateway/single/spring-cloud-gateway.html#_header_route_predicate_factory 在第 5.14 节中提到了一些默认的安全标头已应用以及如何更改它们。
它说标头X-Permitted-Cross-Domain-Policies默认设置为none,这意味着 CORS 已禁用。
文档告诉我,我可以通过在 application.properties 文件中设置属性来更改此标头。
spring.cloud.gateway.filter.secure-headers.permitted-cross-domain-policies = ?
但是我不知道设置这个属性需要什么值,并且它没有记录在任何地方。我尝试将其设置为“任何”、“全部”和“*”,但没有运气。
有人可以帮忙吗,或者有人知道这个问题的答案吗?或者,如果我误解了某些内容,请告诉我。