Api-шлюз производство - PullRequest
       106

Api-шлюз производство

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

У меня есть несколько apis и api-gateway перед ними.Это Ocelot, это моя конфигурация в моей локальной среде:

  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/{everything}",
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 5000
        }
      ],
      "UpstreamPathTemplate": "/api1/{everything}",
      "UpstreamHttpMethod": [ "Get", "Post" ]
    },

API работает как Kestrel.Нет докера.Однако в производственной системе он должен быть установлен в IIS

. Проблема заключается в следующем: в моей среде locan все apis, nad шлюз api работают на localhost, nad имеют порт.Но на сервере они устанавливаются как веб-сайты, так и приложения внутри веб-сайта.поэтому, если адрес веб-сайта - xyz.com, адрес api1 - xyz.com/api1.и это доступно.Я не хочу, чтобы он был доступен, только через шлюз API.Первый вопрос, как сделать доступным только через шлюз API.

И второй вопрос, он не работает.Это моя конфигурация на сервере:

  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/Api1Api/{everything}",
      "DownstreamScheme": "http",
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost", <-- here I tried xyz.com too
          "Port": 80
        }
      ],
      "UpstreamPathTemplate": "/Api1/{everything}",
      "UpstreamHttpMethod": [ "Get", "Post" ]
    },

Если я захожу на xyz.com/Api1Api, он работает, но я не хочу, чтобы он работал, но если я захожу на xyz.com/ApiGateway/ Api1, он не работает, но я хочу, чтобы он работал оттуда

...