IIS 8.5 (Win 2012R2) + 新增綁定後自動重新導向至 HTTPS

IIS 8.5 (Win 2012R2) + 新增綁定後自動重新導向至 HTTPS

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

我有一個網站。已配置連接埠 80 上的 HTTP 主機名稱綁定。該網站可透過 HTTP 存取。

當我新增 HTTPS 綁定(嘗試過 SNI 和不使用 SNI)時,我可以透過 HTTPS 存取網站。但是,當我嘗試透過 HTTP 造訪該網站時,我收到了到 HTTPS 的 307 重定向。

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

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

感謝您所有聰明的想法!

編輯:

Microsoft.AspNetCore.HttpsPolicy我在 json 文件中找到了對:的引用。我沒有原始碼。

另外,如果我清除 Web 根目錄並僅添加靜態 index.htm 文件,則神奇的重定向將不會發生。因此,對於 ASP.NET Core 應用程序,它似乎從 IIS 配置中讀取連接埠號,這對我來說聽起來很有線。

答案1

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

參考

相關內容