Kestrel:預設 HTTPS 繫結已移除

預設的 HTTPS 位址和連接埠已從 .NET 7 的 Kestrel 中移除。 這項變更是 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

N/A