api网关生产

时间:2019-02-21 14:25:02

标签: microservices api-gateway ocelot

我有一些api,以及它们前面的api网关。碰巧是豹猫 这是我在本地环境上的配置:

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

api正在以Kestrel的身份运行。没有码头工人。 但是,在生产系统上,应将其安装在IIS中

问题是这样的: 在我的疯人环境中,所有api都没有,而api网关在localhost上运行,也没有端口。但是在服务器上,它们作为网站安装,并在网站内部安装。因此,如果网站的地址是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,它不能工作,但是我希望它可以工作从那里

0 个答案:

没有答案