如何使用Spring云网关和功能区重定向到https

jhkqcmku  于 2022-10-30  发布在  Spring
关注(0)|答案(1)|浏览(166)

我有2个与https一起工作的微服务,我添加了Spring Cloud Gateway API来集中路由,但我遇到了一个问题,它说:This combination of host and port requires TLS我很肯定这是因为我的网关上的路由配置,我没有太多的经验,在这方面,但如果有人可以帮助我。
这是我的Spring Web关路由配置:

@Bean
  public RouteLocator gatewayRouter(RouteLocatorBuilder builder){
    return builder.routes()
        .route(p -> p.path("/api/v1/**")
            .uri("lb://statement"))
        .route( p -> p.path("/api/v3/**")
            .uri("lb://activiti-workflow"))
        .build();
  }

请我只是想知道,如果这个配置将重定向到https或没有,因为虽然发送http请求直接到微服务,它的工作,但与网关是不。

xfb7svmp

xfb7svmp1#

如果您的后端服务在Eureka 提供https,您可以设置路由uri如下:

uri: lb:https://your-service-name

或者

.uri("lb:https://your-service-name")

就像WebSocket配置一样,关键类是org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter
更多信息,请访问:https://cloud.spring.io/spring-cloud-gateway/reference/html/#the-routetorequesturl-filter
如果您的后端服务使用不安全的HTTPS证书,您可能需要配置以下内容:

spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          useInsecureTrustManager: true

请访问:https://cloud.spring.io/spring-cloud-gateway/reference/html/#tls-and-ssl

相关问题