【问题标题】:How does IIS forward HTTPS requests to Kestrel?IIS 如何将 HTTPS 请求转发到 Kestrel?
【发布时间】:2020-04-02 05:48:10
【问题描述】:

我有一个用 ASP.NET Core 编写的 Web 应用程序。默认情况下,使用 Kestrel;我在 IIS 上托管它。我想从 IIS 配置 https。红隼会“只知道”如何处理这个问题吗?是否需要通过反向代理使 https 与 Kestrel 一起工作?

【问题讨论】:

标签: c# asp.net asp.net-core kestrel-http-server


【解决方案1】:

你不需要做任何特别的事情,只需:

  1. 在 IIS 服务器上安装 .NET Core Hosting Bundle。 (重启服务器)
  2. 在 IIS 上创建网站。
  3. 将您的项目发布到网站。
  4. 将 Https 的站点绑定添加到您的网站。

完成。

更多信息:Publish an ASP.NET Core app to IIS

【讨论】:

  • 那么在启动文件中配置https重定向的目的是什么?
  • 嗨,你能帮我回答上面的评论吗?
【解决方案2】:

我在 IIS 上做了一些测试

将asp.net核心应用部署到IIS时

Kestrel 将不再使用。

相反,asp.net 核心使用 HttpSys

例如

ctx.Response.Headers.GetType().FullName
is 
"Microsoft.AspNetCore.HttpSys.Internal.HeaderCollection"

这些类在程序集中:

C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\3.1.3\Microsoft.AspNetCore.Server.IIS.dll

因此,IIS 将同时接受 80 和 443 请求并重定向到 asp.net 核心

(Kestrel 无需配置 SSL)

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 2019-11-17
    • 1970-01-01
    • 2017-07-09
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多