【问题标题】:What the difference between "Urls" and "Endpoints" in Kestrel settings?Kestrel 设置中的“Urls”和“Endpoints”有什么区别?
【发布时间】:2021-04-29 16:05:07
【问题描述】:

在 ASP Net Core Web 应用程序中,您可以在 appsettings.json 中以两种不同的方式设置应用程序将侦听的 URL:

1)

{
  "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:9999"
      }
    }
  }
}
{
  "Urls": "http://localhost:9999"  
}

这两种方法有什么区别以及它们存在的原因?

【问题讨论】:

    标签: asp.net-core .net-core configuration kestrel-http-server


    【解决方案1】:

    据我所知,“Urls”和“Endpoints”都用于为 ASP.NET Core Kestrel Web 服务器配置端点。

    urls 主机配置键有限制。(HTTPS 端点配置必须有默认证书)。

    但如果您使用端点,您可以有多个端点设置,每个证书都有自己的证书。

    此外,每个端点都需要 Endpoints 中的 Url 参数。 这些端点替换了顶级 Urls 配置中定义的端点,而不是添加到它们中。通过 Listen 在代码中定义的端点与配置部分中定义的端点累积。

    更多细节,你可以参考这个article

    【讨论】:

    • 但是……它们为什么存在?我的意思是,“端点”更加健壮,只需要一个设置就足够了,但奇怪的是他们实现了两个不同的设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多