问题标签 [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.

0 投票
1 回答
39203 浏览

spring-mvc - Spring Cloud Gateway 与 Zuul 有何不同?

我一直使用Zuul作为边缘服务和 API 网关。最近我注意到 Spring Cloud Platform 发布了Spring Cloud Gateway。这两个网关有什么区别?为什么 Zuul 没有扩展以支持 SC-Gateway 中的功能?新图书馆的驱动因素是什么?什么时候应该使用它?

0 投票
4 回答
36564 浏览

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/回来但它没用。

输出说:

0 投票
1 回答
5017 浏览

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 = ?

但是我不知道设置这个属性需要什么值,并且它没有记录在任何地方。我尝试将其设置为“任何”、“全部”和“*”,但没有运气。

有人可以帮忙吗,或者有人知道这个问题的答案吗?或者,如果我误解了某些内容,请告诉我。

0 投票
1 回答
1346 浏览

spring-boot - 如何使用 WebFlux 在 Spring Boot 2 中设置登录页面?

我已经创建了 Spring Boot 2 WebFlux 应用程序(基于 Spring Cloud Gateway 项目),现在尝试配置自定义登录页面而不是标准:

我尝试使用 Thymeleaf 通过登录 html 页面创建和控制器设置来呈现此页面:

但它不起作用。任何人都可以解释如何做到这一点,我应该使用 Thymeleaf 吗?也许这已经实现并且在 GitHub 上?

0 投票
1 回答
914 浏览

spring-boot - Spring Cloud Gateway 找不到 Fluent Java Routes API

我正在尝试使用 Spring-cloud-gateway。在浏览文档时,我发现我们不仅可以在 yml/ 属性文件中配置路由,还可以使用 Fluent Routes API。这是文档中的片段。

但我找不到这门课Routes。不确定我是否错过了什么。我正在使用 spring boot 2.0.0.M7,并且包含spring-cloud-starter-gateway依赖项。

任何的想法 ?

0 投票
0 回答
996 浏览

spring-cloud - spring cloud gateway 抛出负载均衡器没有可供客户端使用的服务器

尤里卡 + 网关 + 后端服务器 A + 后端服务器 B。BackendServerB 宕机后,抛出异常:

在我手动重新启动 serverB 后的事件,它仍然会抛出相同的错误并返回 500 http 代码。但是,如果我在网关之前打开其他 3 台服务器,它可以正常工作。我使用application.properties文件来配置路由。

0 投票
0 回答
965 浏览

project-reactor - spring cloud gateway 2 添加身份验证信息标头

我需要添加一些来自exchange.getPrincipal()转发请求的用户信息,并写GlobalFilter如下:

}

但是当我启用这个过滤器时,我只会得到一个 200 状态码而没有任何异常抛出。我想我使用了错误的反应器方式,我尝试了很多但无法让它工作。

0 投票
1 回答
1143 浏览

spring-boot - 从 Spring Cloud Gateway 到底层服务的凭证传播

我使用 Spring Cloud Gateway 作为 UI 网关。安全配置:

如何将当前用户凭据(用户名和角色)传播到底层服务?我是否需要在路由配置中添加一些自定义过滤器:

? 是否有用于此目的的标准组件?

0 投票
0 回答
163 浏览

spring-cloud - Spring Cloud Gateway 将数据从内部服务器路由到外部客户端

一个正常的使用场景是外部客户端通过spring cloud gateway向内部服务发送数据。反过来,如何使内部服务也通过spring cloud gateway向客户端发送请求?例如:

  1. 客户端向服务发送请求(通过网关)
  2. 服务回答“收到请求”。
  3. 当服务工作完成时,将结果发送给客户端(我希望它也通过网关)
  4. 客户回答。

我认为feign可以以某种方式实现这一点,但根据我发现的材料,它需要静态配置外部 URL。也许spring-cloud-gateway天生支持这一点,我错过了阅读的东西?

0 投票
0 回答
2530 浏览

java - Spring Cloud 网关缓存

我正在测试 Spring Cloud Gateway 2.0.0 M9。是否可以在 Spring Cloud Gateway API 中缓存响应?这个想法是以与代理缓存相同的方式缓存和带有一些参数的 URL。也许通过过滤器或谓词?

我知道可以用 Hystrix 进行断路,所以它会是类似的。