Spring 微服务中的Zuul路由

Spring 微服务中的Zuul路由,spring,microservices,jhipster,netflix-zuul,Spring,Microservices,Jhipster,Netflix Zuul,我正在尝试使用jhipster通过网关访问微服务端点。终点来自旧系统,以“/d”开头,不能修改。我希望网关将以“/d/**”开头的所有请求路由到我的微服务,在那里我有一个rest控制器,该控制器将处理映射到“/api/d/**”的请求 我正在尝试使用文档进行工作,因此我的网关中有以下路径: zuul: routes: my-service-route: path:/d/** serviceId: serviceNam

我正在尝试使用jhipster通过网关访问微服务端点。终点来自旧系统,以“/d”开头,不能修改。我希望网关将以“/d/**”开头的所有请求路由到我的微服务,在那里我有一个rest控制器,该控制器将处理映射到“/api/d/**”的请求

我正在尝试使用文档进行工作,因此我的网关中有以下路径:

zuul:
    routes:
        my-service-route:
              path:/d/**
              serviceId: serviceName
我看到在zuul配置中使用url可以直接指定url,但是我使用jhipster注册表,所以我不能这样处理问题。据我所知,我必须编写一个自定义Zuul筛选器或Zuul路由配置,将请求路由到我的服务

所以我有两个问题:

  • 如果使用以/d开头的rest,则无法访问网关

  • 我无法按预期的方式将请求路由到我的微服务: /要路由到我的微服务的d/服务,其中我有一个映射到“/d/服务”的restcontroller

  • 任何关于我应该如何处理这一点的信息都非常感谢

    谢谢

    编辑:


    我已经在WebConfig
    source.registerCorsConfiguration(“/d/**”,config)中添加了我的路径
    和SecurityConfiguration中的antMatchers(“/d/**”).authenticated()

    您可以在application.properties中尝试以下配置,也可以相应地将其更改为yml。因此,任何作为/d/*发出的请求都将重定向到serviceName应用程序实例

    zuul.routes.serviceName.serviceId=serviceName
    zuul.routes.serviceName.path=/d/**
    zuul.routes.serviceName.sensitive-headers=Set-Cookie,Authorization
    hystrix.command.serviceName.execution.isolation.thread.timeoutInMilliseconds=600000
    

    您可以在application.properties中尝试下面的配置吗?您也可以相应地将其更改为yml。因此,任何作为/d/*发出的请求都将重定向到serviceName应用程序实例

    zuul.routes.serviceName.serviceId=serviceName
    zuul.routes.serviceName.path=/d/**
    zuul.routes.serviceName.sensitive-headers=Set-Cookie,Authorization
    hystrix.command.serviceName.execution.isolation.thread.timeoutInMilliseconds=600000
    

    我尝试过类似的方法,但问题是jhipster生成的应用程序的默认访问端点设置为/api。因此,任何其他不以/api开头的访问端点都将自动被拒绝。我试图修改SecurityConfiguration以允许我在/d上访问后端,但还没有成功。我尝试了类似的方法,但问题是jhipster生成的应用程序在/api上设置了默认访问端点。因此,任何其他不以/api开头的访问端点都将自动被拒绝。我试图修改SecurityConfiguration以允许我在/d上访问后端,但还没有成功。