Настройка 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 является единственной частью, определенной до сих пор. Однако, когда я делаю запрос GET от Почтальона к http://localhost/, я получаю ошибку:

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 ответов

Другие вопросы по тегам