Windows-Server-2012-R2

IIS 8.5 (Win 2012R2) + 添加綁定時自動重定向到 HTTPS

  • January 13, 2021

我試圖理解一種我以前從未見過的奇怪行為。

我有一個網站。埠 80 上的 HTTP 主機名綁定已配置。該站點可通過 HTTP 訪問。

當我添加 HTTPS 綁定(嘗試過 SNI 和沒有)時,我可以通過 HTTPS 訪問該站點。但是,當我嘗試通過 HTTP 訪問該站點時,我得到一個 307 重定向到 HTTPS。

我沒有添加 IIS 重定向規則或 URL 重寫規則。另外,如果我將 HTTPS 埠更改為另一個埠,例如。44300,來自 HTTP(埠 80)的重定向更新為重定向到配置的非標準埠。

值得一提的是,它是一個 .NET Core 站點。應用程序是否有機會檢查 IIS 綁定,然後在此處進行正確的重定向?

謝謝你所有的聰明主意!

編輯:

我找到了一個參考:Microsoft.AspNetCore.HttpsPolicy在一個 json 文件中。我沒有原始碼。

此外,如果我清除 web-root 並添加一個靜態 index.htm 文件,則不會發生神奇的重定向。因此,對於 ASP.NET Core 應用程序,它似乎從 IIS 配置中讀取埠號,這聽起來對我來說是有線的。

.NET Core 包含一個預設的 HTTP 到 HTTPS 重定向,當它檢測到滿足條件時可能會意外啟動它。因此,如果這不是您想要的,請讓開發人員完全禁用它(UseHttpsRedirection從程式碼中刪除)。

參考

引用自:https://serverfault.com/questions/1049665