Zuul маршрутизация в микросервисах - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь получить доступ к конечной точке микросервиса через шлюз, используя jhipster.Конечной точкой является устаревшая система, которая начинается с «/ d» и не может быть изменена.Я хочу, чтобы шлюз направил все запросы, начинающиеся с '/ d / **', в мой микросервис, где у меня есть контроллер rest, который будет обрабатывать запросы, сопоставленные с '/ api / d / **'

Я пытаюсь работать с использованием документации, поэтому у меня в шлюзе есть маршрут:

zuul:
    routes:
        my-service-route:
              path:/d/**
              serviceId: serviceName

Я видел, что с помощью URL в конфигурации zuul вы можете указать URL-адрес напрямую, но я использую реестр jhipsterпоэтому я не могу подойти к этой проблеме.Насколько я понимаю, мне нужно написать собственный Zuul Filter или Zuul Route Configuration, который будет направлять запросы в мой сервис.

Так что у меня 2 проблемы:

  1. Я не могу получить доступ к шлюзу, если использую отдых, который начинается с / d

  2. Я не могу перенаправить запросы на свой микросервис так, как я ожидаю: / d /Служба будет перенаправлена ​​на мой микросервис, где у меня есть restcontroller с отображением на «/d/service".

Любая информация о том, как мне следует подойти к этому, очень ценится.

Спасибо.

РЕДАКТИРОВАТЬ:

Я уже добавил свой путь в WebConfig source.registerCorsConfiguration("/d/**", config); и в SecurityConfiguration .antMatchers("/d/**").authenticated()

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете попробовать эту конфигурацию ниже в 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
...