将IdentityServer4隐藏在Ocelot网关后面

时间:2018-12-05 17:57:30

标签: docker identityserver4 ocelot

我正试图通过将其分成较小的部分来解决更大的问题。第一个问题是我不知道如何正确隐藏。出于本文的目的,我创建了一个简单的演示应用程序,该应用程序已部署到docker(在github上可用)。它内部有两个微服务:部署到localhost:7060的OcelotGateway(OcelotIdentity项目)和可部署到localhost:7050的IdentityServer微服务(Identity项目)。这是我的ocelot配置文件:

{
  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/{route}",
      "UpstreamPathTemplate": "/identity/{route}",
      "UpstreamHttpMethod": [ "Get", "Options", "Post" ],
      "DownstreamScheme": "http",
      "ServiceName": "identity"
    }
  ],
  "GlobalConfiguration": {
    "RequestIdKey": "OcRequestId",
    "AdministrationPath": "/administration"
  }
}

所以我希望在localhost:7060 / identity上看到IdentityServer的快速入门页面,但我却得到404。当我直接通过身份服务器的URL(localhost:7050)到达该页面时,该页面可以正常工作。

1 个答案:

答案 0 :(得分:0)

您可能已经想出了答案,但仅适用于子孙后代。我想问题出在您的所有建议上,希望将类似/identity/something的内容传递给/something

要显示快速入门页面,您应该定义另一条重新路由,仅捕获/identity并转发到/。然后,不需要something,重新路由应该可以正常工作。

此外,该方案最好是https