Spring Cloud Gateway配置

时间:2018-08-19 15:17:45

标签: spring-cloud-gateway

我希望使用Spring Cloud Gateway作为我的反向代理来访问我通过Docker运行的若干服务。这是我的Java配置:

@Configuration
public class GatewayRoutes {

    @Bean
    public RouteLocator routeLocator(RouteLocatorBuilder routeLocatorBuilder) {
        return routeLocatorBuilder.routes()
                .route("website", r ->r.path("*/").uri("*:8080"))                    
                .route("myapp", r ->r.path( "*/url1/**").or().path("*/url2/**")
                     .uri("*:3002"))
                .route("security", r ->r.path("*/api/**").uri("*:3000"))
                .route("service3", r ->r.path("*/url3").uri("*:3009"))
                .route("configuration", r ->r.path("*/config-server").uri("*:8980"))
                 .build();
    }

我想做的是: -当url1或url2(映射到相同的服务)时,请求将定向到在3002上运行的服务。
-当有请求在查看/api/时,则在端口3000上运行的服务将接收该请求。 -其他服务等。

我没有令牌的任何请求前过滤或其他任何配置。实际上,到目前为止,此@Configuration是唯一定义的部分。但是,当我从邮递员向http://localhost发出GET请求时,收到错误消息:

2018-08-19 15:02:44.537  INFO 1 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 80
2018-08-19 15:02:44.542  INFO 1 --- [           main] u.f.m.a.a.ApigatewayApplication          : Started ApigatewayApplication in 5.928 seconds (JVM running for 6.878)
2018-08-19 15:02:49.114 TRACE 1 --- [-server-epoll-6] o.s.c.g.f.WeightCalculatorWebFilter      : Weights attr: {}
2018-08-19 15:02:49.168 TRACE 1 --- [-server-epoll-6] o.s.c.g.h.RoutePredicateHandlerMapping   : No RouteDefinition found for [Exchange: GET http://localhost/]
2018-08-19 15:02:49.207  WARN 1 --- [-server-epoll-6] .a.w.r.e.DefaultErrorWebExceptionHandler : Failed to handle request [GET http://localhost/]: Response status 404

我感觉这里缺少明显的东西,但是我没有看到任何在线示例可以显示出它可能是什么。

0 个答案:

没有答案