问题标签 [spring-cloud-gateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-mvc - Spring Cloud Gateway 与 Zuul 有何不同?
我一直使用Zuul作为边缘服务和 API 网关。最近我注意到 Spring Cloud Platform 发布了Spring Cloud Gateway。这两个网关有什么区别?为什么 Zuul 没有扩展以支持 SC-Gateway 中的功能?新图书馆的驱动因素是什么?什么时候应该使用它?
spring - Spring Cloud Gateway - 代理/转发 URL 的整个子部分
我正在使用Spring Cloud Gateway 2.0.0.M6 测试一个简单的网关。我只想用 ** 正则表达式将 URL 转发到另一个 URL
示例 1:/integration/sbl/foo/bar => localhost:4178/a-integration/sbl/foo/bar
示例 2:/integration/sbl/baz/bad => localhost:4178/a-integration/sbl/baz/bad
到目前为止,我已经写了以下内容,但它只转发到http://localhost:4178/a-integration/
如何修复上述代码以启用此行为?
编辑
我根据以下响应尝试了以下操作
我尝试了 GET http://localhost:4177/gb-integration/sbl/api/sbl/income/并期望http://localhost:4178/gb-samtykke-integration/api/sbl/income/回来但它没用。
输出说:
spring-boot - 带有 Eureka 发现的 Spring Cloud Gateway 启用 CORS 策略
我一直在寻找如何在使用 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 = ?
但是我不知道设置这个属性需要什么值,并且它没有记录在任何地方。我尝试将其设置为“任何”、“全部”和“*”,但没有运气。
有人可以帮忙吗,或者有人知道这个问题的答案吗?或者,如果我误解了某些内容,请告诉我。
spring-boot - 如何使用 WebFlux 在 Spring Boot 2 中设置登录页面?
我已经创建了 Spring Boot 2 WebFlux 应用程序(基于 Spring Cloud Gateway 项目),现在尝试配置自定义登录页面而不是标准:
我尝试使用 Thymeleaf 通过登录 html 页面创建和控制器设置来呈现此页面:
但它不起作用。任何人都可以解释如何做到这一点,我应该使用 Thymeleaf 吗?也许这已经实现并且在 GitHub 上?
spring-boot - Spring Cloud Gateway 找不到 Fluent Java Routes API
我正在尝试使用 Spring-cloud-gateway。在浏览文档时,我发现我们不仅可以在 yml/ 属性文件中配置路由,还可以使用 Fluent Routes API。这是文档中的片段。
但我找不到这门课Routes
。不确定我是否错过了什么。我正在使用 spring boot 2.0.0.M
7,并且包含spring-cloud-starter-gateway
依赖项。
任何的想法 ?
spring-cloud - spring cloud gateway 抛出负载均衡器没有可供客户端使用的服务器
尤里卡 + 网关 + 后端服务器 A + 后端服务器 B。BackendServerB 宕机后,抛出异常:
在我手动重新启动 serverB 后的事件,它仍然会抛出相同的错误并返回 500 http 代码。但是,如果我在网关之前打开其他 3 台服务器,它可以正常工作。我使用application.properties
文件来配置路由。
project-reactor - spring cloud gateway 2 添加身份验证信息标头
我需要添加一些来自exchange.getPrincipal()
转发请求的用户信息,并写GlobalFilter
如下:
}
但是当我启用这个过滤器时,我只会得到一个 200 状态码而没有任何异常抛出。我想我使用了错误的反应器方式,我尝试了很多但无法让它工作。
spring-boot - 从 Spring Cloud Gateway 到底层服务的凭证传播
我使用 Spring Cloud Gateway 作为 UI 网关。安全配置:
如何将当前用户凭据(用户名和角色)传播到底层服务?我是否需要在路由配置中添加一些自定义过滤器:
? 是否有用于此目的的标准组件?
spring-cloud - Spring Cloud Gateway 将数据从内部服务器路由到外部客户端
一个正常的使用场景是外部客户端通过spring cloud gateway向内部服务发送数据。反过来,如何使内部服务也通过spring cloud gateway向客户端发送请求?例如:
- 客户端向服务发送请求(通过网关)
- 服务回答“收到请求”。
- 当服务工作完成时,将结果发送给客户端(我希望它也通过网关)
- 客户回答。
我认为feign
可以以某种方式实现这一点,但根据我发现的材料,它需要静态配置外部 URL。也许spring-cloud-gateway
天生支持这一点,我错过了阅读的东西?
java - Spring Cloud 网关缓存
我正在测试 Spring Cloud Gateway 2.0.0 M9。是否可以在 Spring Cloud Gateway API 中缓存响应?这个想法是以与代理缓存相同的方式缓存和带有一些参数的 URL。也许通过过滤器或谓词?
我知道可以用 Hystrix 进行断路,所以它会是类似的。