我正在使用Spring Cloud Gateway
进行微服务路由,并在Eureka Server
中注册。
微服务在多个实例中运行,这就是为什么我需要在网关中使用负载均衡器,如下所示
spring:
application:
name: GATEWAY-NAME
cloud:
gateway:
httpclient:
wiretap: true
httpserver:
wiretap: true
routes:
- id: MICROSERVICE-NAME
uri: lb://MICROSERVICE-NAME
predicates:
- Path=/path/**
当微服务在没有SSL的HTTP协议上运行时,这可以很好地工作。但是当我在微服务服务器中启用SSL时,上层配置不起作用。相反,当我直接使用URL而不是下面的负载均衡器时,它会起作用。
spring:
application:
name: GATEWAY-NAME
cloud:
gateway:
httpclient:
wiretap: true
httpserver:
wiretap: true
routes:
- id: MICROSERVICE-NAME
uri: https://domain:port
predicates:
- Path=/path/**
现在,当在运行微服务的服务器中启用SSL时,我需要使用负载均衡器。我也试过uri: lbs://MICROSERVICE-NAME
,但没有得到任何结果。
我该如何实现我的目标?请让我知道我应该如何使用网关路由的负载均衡器重定向到HTTPS。
将以下内容添加到客户端/微服务应用程序工作
--eureka.instance.securePortEnabled=真
lbs://无需更改。显然,我们需要两个(尤里卡arg或lbs://(中的任何一个
请参阅Spencergib-ans Spring Cloud Gateway和Eureka在SSL中工作,微服务默认为HTTP,但应为HTTPS
然而,lbs://对我不起作用,尤里卡arg起作用了!