Экспресс шлюз не может получить - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь настроить несколько служб (nodejs) в шлюзе Express, но по какой-то причине вторая служба не обнаружена.Пожалуйста, найдите ниже мой gateway.config.yml

http:
  port: 8080
admin:
  port: 9876
  hostname: localhost
apiEndpoints:
  config:
    host: localhost
  actions:
    host: localhost
serviceEndpoints:
  configService:
    url: "http://localhost:3002"
  actionService:
    url: "http://localhost:3006"
policies:
- basic-auth
- cors
- expression
- key-auth
- log
- oauth2
- proxy
- rate-limit
pipelines:
  - name: basic
    apiEndpoints:
    - config
    policies:
    - proxy:
      - action:
          serviceEndpoint: configService
          changeOrigin: true
  - name: basic2
    apiEndpoints:
    - actions
    policies:
    - proxy:
      - action:
          serviceEndpoint: actionService
          changeOrigin: true

1 Ответ

0 голосов
/ 03 декабря 2018

Это ожидается, потому что часть конфигурации apiEndpoints использует тот же хост и путь для построения маршрутизации

apiEndpoints:
  config:
    host: localhost
  actions:
    host: localhost

, что вы можете сделать, это как-то разделить его по пути

apiEndpoints:
  config:
    path: /configs
  actions:
    path: /actions

втаким образом localhost/configs/db перейдет в службу конфигурации ..:3002/configs/db и localhost/actions/magic перейдет к действиям ..:3006/actions/magic

, вы также можете установить плагин перезаписи https://www.express -gateway.io / docs/icies / rewrite /

в случае, если целевые сервисы имеют разные шаблоны URL

...