Kestrel:已删除默认 HTTPS 绑定

已从 .NET 7 的 Kestrel 中删除默认 HTTPS 地址和端口。 此变更是 dotnet/aspnetcore#42016 的一部分,这将改善处理 HTTPS 时的整体开发人员体验。

引入的版本

ASP.NET Core 7.0

旧行为

以前,如果未显式指定地址和端口的值,但本地开发证书可用,则 Kestrel 默认绑定到 http://localhost:5000https://localhost:5001

新行为

用户现在必须手动绑定到 HTTPS,并通过以下方法之一显式指定地址和端口:

HTTP 绑定不变。

中断性变更的类型

此更改会影响二进制兼容性。

更改原因

先前的预先绑定行为不考虑配置环境,当证书未被信任时(即作为根证书颁发机构信任,因为它是自签名的),可能会导致开发人员体验不佳。 当使用不受信任的证书访问 HTTPS 终结点时,客户端通常会产生糟糕的用户体验。 例如,它们可能会以无提示方式失败,或者显示警告用户的错误或警告屏幕。

如果未使用默认 https://localhost:5001 绑定,则无需更改。 但是,如果使用此绑定,请参阅配置 ASP.NET Core Kestrel Web 服务器终结点,了解如何更新服务器以启用 HTTPS。

受影响的 API

不适用