Spring Boot Zuul API Gateway возвращает ответ 404 - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь настроить Spring Boot Zuul 2.2, чтобы я мог отправлять запросы в службу, которая зарегистрирована в Eureka и, таким образом, известна Zuul.

Я могу получить доступ к интерфейсу Swagger службы через Zuul, но когда я пытаюсь отправить запрос в службу, я получаю ответ 404 HTTP status - not found.

Служба настроена следующим образом:

management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
eureka:
  client:
    registerWithEureka: true
    fetchRegistry: true
    serviceUrl:
      defaultZone: http://localhost:8761/eureka
  instance:
    preferIpAddress: true

Приложение Zuul настроено так:

eureka:
  instance:
    preferIpAddress: true
  client:
    registerWithEureka: true
    fetchRegistry: true
spring:
  application:
    name: app-zuul
management:
  endpoints:
    web:
      exposure:
        include: routes,filters
  endpoint:
    health:
      show-details: always

и, наконец, конфигурация Eureka:

eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false
spring:
  application:
    name: app-eureka
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always

Я могу отправлять запросы непосредственно пользователю обслуживание через http://localhost:3335/api/v1/..., но я получаю 404, когда я пытаюсь запросить http://localhost:8763/app-user/api/v1/....

Мне не хватает какой-либо конфигурации?

1 Ответ

0 голосов
/ 27 марта 2020

Вы должны добавить маршруты zuul в свойствах сервера zuul: Например:

zuul:
   routes:
      accounts-web:#app name 
         url: http://localhost:8081 # app url

После правильного добавления маршрутов вы сможете получить доступ к URL.

Ссылка: https://spring.io/guides/gs/routing-and-filtering/

Чтобы использовать имя приложения eureka в маршрутах, добавьте маршруты, например:

zuul:
    routes:
        app-user: #app name
            path: /app-user/** #app-url
        app-user:
            serviceId: APP-USER #eureka serviceID

Ссылка: https://springbootdev.com/2018/02/03/microservices-declare-zuul-routes-with-eureka-serviceid-spring-cloud-zuul-eureka/

...