【问题标题】:Running multiple ASP.net core web api applications on a single Kestrel server instance在单个 Kestrel 服务器实例上运行多个 ASP.net 核心 Web api 应用程序
【发布时间】:2018-04-22 16:42:24
【问题描述】:

是否可以在同一台机器上运行多个 asp.net core web api 应用程序并监听不同的端口,并且所有服务都应该在同一个 kestrel 实例上运行?

我需要使用 ASP.net 核心 web api 开发多个服务(微服务),并且应该部署在同一台机器上,并且应该使用 HTTPS 和相同的 SSL 证书。 根据我的发现,每个服务都需要配置为在单独的 kestrel 实例上运行,因此为每个服务配置相同的 SSL 事物会产生开销。我正在尝试找到一种方法在 kestrel 的单个实例上运行所有服务,以便我可以一次性启用 SSL。

【问题讨论】:

  • 为什么要使用同一个 Kestrel 实例?
  • 嗨@DavidG - 回答你的问题 - “让部署更容易”。如果我有多个红隼实例,我将必须为每个服务启用 SSL,并且我将为每个服务使用相同的 SSL 证书,所以如果我可以在单个红隼实例上运行它,我可以配置 SSL 一次并且所有服务都在监听HTTPS 和可能不同的端口

标签: c# asp.net-web-api https kestrel


【解决方案1】:

回答这个问题可能有点晚,但您应该考虑引入一个执行 SSL 终止/负载平衡的反向代理。

Nginx 似乎是当前流行的 .NET Core 选项(并且有很好的文档可用于“如何做到这一点”。)

Nginx -> ASP.NET Core 连接可以在 HTTP 上(只要 .NET Core 实例有防火墙并且没有暴露在外部。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 2021-08-26
    相关资源
    最近更新 更多