问题标签 [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.
netflix-ribbon - Spring Cloud Gateway Ribbon 负载均衡
试图让 spring 云网关在我们应用程序的几个实例之间进行负载平衡,但就是想不通。我们目前没有服务注册中心(没有 Eureka 等)。
我一直在尝试使用功能区并进行如下配置:
但是,当我尝试向网关发出请求时,我得到一个内容长度为 0 的 200 响应,并且我的存根没有被命中。
我有一个非常基本的设置,没有定义 bean。
我怎样才能让丝带玩得很好/或替代品?
spring-webflux - 如何为 Spring WebFlux 配置 netty 连接超时
我在 AWS 负载均衡器后面运行 spring 云网关(我理解它是在 Spring Webflux 上构建的),我收到间歇性的 502 错误。经调查,问题似乎与负载均衡器和我的节点之间的连接超时有关。从一些调查看来,底层网络服务器的默认超时时间为 10 秒。我使用以下命令确定了这一点...
虽然我可以将负载均衡器上的 idleTimeout 设置为 10 秒以下,但感觉效率非常低。如果可能的话,我想保持在 30 秒以上。相反,我想增加 netty 服务器上的连接超时。我试图在我的 application.yml 中设置 server.connection-timeout 属性...
也通过指定秒...
但是,当我运行 time 命令以查看我的连接持续多长时间时,超时并没有改变,它仍然在 10 秒处结束......
我在这里想念什么?
java - Spring Cloud Gateway - 如果存在则去除前缀
我需要 Spring Cloud Gateway 根据Host
标头或路径前缀将请求路由到微服务。在任何情况下,路径前缀都必须从路径中删除,但前提是它已设置。
我想出了以下代码,我认为只有“sip”是前缀:
问题是 Spring 会删除路径的第一段,即使它不是前缀。
例如,带有路径的请求/sip/calls
成功,但/calls
设置了 Host 标头的请求不成功,因为 Spring 会考虑/calls
前缀并将其删除,从而导致路径为空。/calls/calls
带有Host
标头的路径成功,因为 Spring 仅删除了第一个calls
路径段。
如何将主机和路径一起使用,仅当前缀与定义的值匹配时才删除它?
ps我在考虑每个服务有两条路线,但看起来不太好,尽管它实现了目标:
java - Spring Cloud Gateway 使连接过早关闭
我在我的微服务设置中使用 spring 云网关作为 API 网关,并使用 consul 作为服务发现。
在某些情况下,当某些微服务的 API 花费超过 2 分钟时,网关会抛出以下错误:
我多次尝试相同的 API,2 分钟后我得到了这个错误。
有没有属性设置。版本和依赖项详细信息:
功能区设置:
spring-security - 将spring cloud gateway与oauth2集成
我正在尝试为我的数据服务实现网关。我所有的数据服务都受到 JWT 身份验证的保护(即每个请求都必须有“授权”标头,否则数据服务会以“未授权”响应)。我希望我的网关也验证对授权标头的所有请求。我如何实现这一目标?由于 Spring Cloud Gateway 基于响应式模型,我无法使用相同的配置。以下是其他数据服务的配置:
应用程序属性
安全配置.java
资源服务器配置.java
代币转换器
spring - 在 Spring Cloud Gateway 中禁止未经身份验证的请求
我已经在 Spring Cloud Gateway 中实现了自定义预过滤器,它允许经过身份验证的请求通过下游流程。我想要的是,如果请求未经身份验证,则返回 401 UNAUTHORIZE 状态响应并停止下游处理。能不能实现这个spring cloud gateway。
请帮忙。
我的过滤器代码如下
和配置如下:
spring - 是否可以为spring cloud gateway中的所有请求配置全局超时
我正在尝试为我的 api 网关中的所有请求添加全局超时。下面是我的路由bean:
如何为所有路由配置全局超时?
spring-boot - 带有 Redis 会话管理的 Spring Cloud Gateway 的工作示例?
您能否指出spring-cloud-starter-gateway工作示例的任何书面或视频教程?使用spring-session-data-redis、Spring Boot 2和可能相关的库,例如 spring security?
基本上,我想在微服务环境中使用 Spring Clouting Gateway 服务器。我还想使用 Spring Boot 2.X。整个系统基于反应原理。
我发现了很多如何使用 Redis 速率限制器设置spring-cloud-starter-gateway服务器的示例。我有一个工作版本的网关服务器,但它没有使用基于 Redis 的会话管理。当我将 Redis 用于会话时,我会遇到各种异常。因此,任何工作示例将不胜感激。
java - 从zuul迁移到spring cloud gateway时如何“删除gobal前缀('/api')然后转到lb://”
我想从 zuul 迁移到 spring 云网关,我不想更改我以前的应用程序的配置。我想知道如何处理带有“/api/ + 'serviceId'”的 url,路由到 lb://serviceId
之前的zuul配置
eureka 有很多服务注册,我不想为每个服务注册。
例如。org.springframework.cloud.gateway.discovery.DiscoveryClientRouteDefinitionLocator 自动生成的路由
我想要的是
我如何配置我的路线以获得我想要的东西
而且我还找到了源代码
“'/'+serviceId+'/**'”没有前缀
[2019-01-10] 更新 我认为@spencergibb 的建议是一个很好的解决方案,但是我尝试了很多方法(SpEL)遇到了新问题:
启动失败
当我使用转义“\”时
它开始成功,但运行时出现异常
更新 2
我在 中发现org.springframework.cloud.gateway.filter.factory.RewritePathGatewayFilterFactory
,有一个替换来处理“\”
说到SpelParseException
没有
spring - SpringCloudGateway - 记录传入的请求 url 和相应的路由 URI
我是 Spring Cloud Gateway 的新手,我想要的是将传入请求记录到相应的路由 url,例如,如果我有以下路由配置:
然后对于“ http://localhost:8080/foo/route1 ”的传入请求,应打印以下日志消息。
“传入的请求 url ' http://localhost:8080/foo/route1 ' 被路由到 ' http://localhost:8585/route1 '”
有什么简单的方法可以实现这一点,或者我可以通过设置日志级别来实现这一点。
你能帮忙吗