当前位置: 首页 > 知识库问答 >
问题:

春云网关路由领事

钦枫
2023-03-14

我不知道spring-cloud-gateway是否支持从领事注册中心读取路由,就像Zuul一样。

spring:
  cloud:
    consul:
      discovery:
        register: false
          locator:
            enabled: true
        acl-token: d3ee84e2-c99a-5d84-e4bf-b2cefd7671ba
        enabled: true

另外,我用--debug启动了这一行:

   GatewayDiscoveryClientAutoConfiguration#discoveryClientRouteDefinitionLocator:
  Did not match:
     - @ConditionalOnBean (types: org.springframework.cloud.client.discovery.DiscoveryClient; SearchStrategy: all) did not find any beans of type org.springframework.cloud.client.discovery.DiscoveryClient (OnBeanCondition)
  Matched:
     - @ConditionalOnProperty (spring.cloud.gateway.discovery.locator.enabled) matched (OnPropertyCondition)

共有1个答案

松旭
2023-03-14

我可以通过声明以下bean来解决它:DiscoveryClientRouteDefinitionLocator(reference)

@Configuration
@EnableDiscoveryClient
public class AutoRouting {
  @Bean
  public DiscoveryClientRouteDefinitionLocator discoveryClientRouteDefinitionLocator(DiscoveryClient discoveryClient, DiscoveryLocatorProperties properties) {
    return new DiscoveryClientRouteDefinitionLocator(discoveryClient, properties);
  }
}

附:您需要包括“春-云-领事”

 类似资料:
  • 我正在使用Spring Cloud。我的Spring boot应用程序、、和中有四个服务。我尝试使用API Gateway调用和。当我从API Gateway调用My时,它可以正常工作,但不起作用。当我尝试获取时,我收到未找到错误。我是Spring Cloud的新人。这是我的代码。 下面是我的网址,最后一个网址是404 实体 学院控制员 应用程序. yml 学生管理员实体 应用程序. yml 应用

  • 我尝试将spring cloud gateway配置为转发到'/Consul/ui'或仅'/Consul'下的HashiCorp Consult的标准ui。然而,我不知道如何正确地做到这一点。Consul正在标准配置中运行。我在10.2.0.2上有一个外部ip地址和一个本地网络接口。我试过: 但是curl-l 127.0.0.1/consul/ui给了我一个500,因为根据日志,网关不匹配/con

  • 我试图将使用工作的网关迁移到Spring Cloud网关,但遇到了请求路由问题。 下面是Spring Cloud Gateway配置的一个片段,我试图在其中配置一个等效的路由: 我使用Spring Cloud Eureka作为我的Discovery服务器(在一个单独的微服务中),并且我目前没有任何配置,如配置DiscoveryClient路由的谓词和过滤器中所述 如果我向发出请求,我将收到一个40

  • null 编辑1:在@SpencerGibb的帮助下,我们用HTTPS设置了spring云网关。但我们还面临一些额外的问题 如果在API网关和服务都启用了HTTPS,我们收到以下错误 javax.net.ssl.sslexception:在io.netty.handler.ssl.sslhandler.handshake(...)处握手超时(未知源)~[netyhandler-4.1.31.fin

  • 我们使用的实现以编程方式实现路由。我们有两个服务,它们应该在相同的路由路径上注册,如果另一个不存在,其中一个将作为后备。具有特定路径的首选路由是: 因此,当调用时,应该使用第一条路由,而当调用时,应该使用第二条路由。 问题是,即使是路线上的order属性似乎也不能解决这个问题;目前,我们发现没有可能设置这种路线的顺序/优先级。这是intender吗?

  • 我正在使用Spring Cloud(hoxton.sr10)和Spring Boot(2.2.6.release) 我在尤里卡服务器8761注册了我的服务 gateway mainClass java