spring-boot - 使用 SSL 的 Spring Cloud Gateway 无法按名称路由到服务

标签 spring-boot ssl netflix-eureka spring-cloud-gateway

我在 Spring Cloud Gateway 服务上启用了 SSL,然后路由如

                .route("instruments-ui", r -> r.path("/instruments/**")
                    .filters(f -> f.filter(addCredentials.apply()).preserveHostHeader())
                    .uri("lb://instruments-ui"))

停止正常工作。如果我将 uri 更改为真实地址,例如 http://localhost:8001 路由工作正常。我使用网关版本2.0.0.RC1。谁能解释一下如何使用 Eureka 数据 + SSL 设置 Spring Cloud Gateway + 路由?

最佳答案

如果您的网关支持 SSL,而下游服务不支持 SSL,则您需要指定 uri,例如 .uri("lb:http://instruments-ui")。我在查看 LoadBalancerClientFilter 类后发现了它。

关于spring-boot - 使用 SSL 的 Spring Cloud Gateway 无法按名称路由到服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50039645/

相关文章:

css - 更改 Vaadin/Spring-Boot/Maven 中的 css

ssl - WebSocket 连接到 'wss://' 失败 : Unexpected response code: 500

spring-boot - 找不到类型为 'com.netflix.discovery.AbstractDiscoveryClientOptionalArgs' 的 bean

php - 无法在 SSL 网站上使用 Paypal API

java - starttls.enabled = true 对于从 java 代码发送邮件是安全的吗?

configuration - 为基于 Spring Cloud Netflix 的 Eureka Server 设置对等感知

spring-cloud - 使用自定义端口和地址配置 Eureka Server 和客户端

java - Spring 启动 : multiple SLF4J bindings

java - 无法定义以 keycloak 开头的属性

javascript - post 请求在 Spring Boot 和 AngularJS 之间出现错误的请求错误