Spring Cloud Gateway未路由(任何请求为404)

时间:2018-09-26 09:16:09

标签: spring docker-compose spring-cloud gateway

我一直在尝试使用Spring Cloud Gateway,Eureka,配置服务和一些微服务创建docker-compose堆栈。这些服务将在它们自己的裸露端口上启动并运行,而config服务运行,而Eureka注册这些服务。但是我无法让Spring Cloud Gateway正常工作。

服务正确启动(或者至少日志中没有错误),当我远程访问容器时,我可以请求我要调用的服务,但是如果我尝试通过配置的路由来请求它我收到404。

我的网关配置(为方便起见,我将配置服务配置和bootstrap.yml结合在一起):

spring:
  application:
    name: gateway-service
  cloud:
    config:
      uri: http://config-service:8080 
eureka:
  client:
    serviceUrl:
      defaultZone: http://discovery-service:8061/eureka/
logging:
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} ${LOG_LEVEL_PATTERN:-%5p} %m%n"
spring:
  cloud:
    gateway:
      routes:
      - id: employee-service
        predicates:
        - "Path=/employee/**"
        filters:
        - StripPrefix=1
        uri: "http://employee-service:8080"

我敢肯定,我只是误解了一些琐碎的事情,而我距成功仅一步之遥,但是...我只是找不到它。

我希望发生的事情:

我的容器:

0.0.0.0:8080->8080/tcp, 8088/tcp                           employee-app_gateway-service_1
8088/tcp, 0.0.0.0:5082->5005/tcp, 0.0.0.0:8082->8080/tcp   employee-app_employee-service_1
8088/tcp, 0.0.0.0:8011->8061/tcp                           employee-app_discovery-service_1
8088/tcp, 0.0.0.0:8012->8080/tcp                           employee-app_config-service_1

1 个答案:

答案 0 :(得分:0)

这必须是我最可耻的第8层问题之一。 boostrap.yml!= bootstrap.yml。我确实花了三天时间。我不确定我是对自己生气还是羞愧。希望你能对我笑:-)