Windows-Server-2008

Windows 2008 IIS 7.0 HTTP 到 HTTPS 重定向——對比 IIS 6.0 機制

  • November 16, 2012

這個主題,在執行 IIS 7.0 的 Windows 2008 伺服器上創建從 HTTP 到 HTTPS 的重定向機制,是 Internet 上的一個熱門話題。如何做到這一點真的不是我的問題。我的問題更多的是解釋為什麼這不能使用 Windows 2008 IIS 7.0 附帶的標準 HTTP 重定向模組來完成。相反,還需要其他更費力的方法。

首先,IIS 6.0 方法不需要外部可用模組,也不需要對 web.config 或任何其他類型的開發工作進行任何額外的修改。它在這裡概述:http: //blogs.microsoft.co.il/blogs/dorr/archive/2009/01/13/how-to-force-redirection-from-http-to-https-on-iis-6- 0.aspx 並且,您可以看到基本步驟是執行管理單元、獲取站點上的屬性並進行一些修改。Presto,你有 HTTP –> HTTP 重定向設置。

現在,在 IIS 7.0 平台上,似乎沒有這麼簡單。初步搜尋發現以下站點: http ://www.sslshopper.com/iis7-redirect-http-to-https.html 其中有兩個單獨的應用程序:1. 涉及安裝單獨可用的 Microsoft 模組——URL 重寫模組,然後將 XML 添加到 web.config。2.自定義錯誤頁面。…可能還有其他方法,但這些是基本方法,第一種被列為主要方法。

但是等等……IIS 7.0 上存在一個 HTTP 重定向模組。那麼…為什麼我不能使用 HTTP 重定向模組來做這件事呢?

這真的是我的大問題。我需要知道這一點,因為我的管理層將堅持我使用 HTTP 重定向模組並以與我們在 IIS 6.0 中類似的方式設置 HTTP 到 HTTPS 重定向。

有人可以用我和我的管理層都能理解的簡潔、簡單、易於理解的術語向我解釋為什麼我需要獲取 URL 重寫模組並將其安裝在伺服器上並進行 web.config 更改文章建議,而不是簡單地使用網站上已經安裝的 HTTP 重定向模組?

謝謝一堆。

內置 HTTP Redirect 模組的唯一用途是返回 300 系列錯誤程式碼,告訴瀏覽器轉到其他地方。從理論上講,您可以設置 301 或 302 將流量發送到 HTTPS,但這需要大量成本,特別是:

  1. 僅接收 HTTP 請求的單獨站點
  2. 重定向流量的規則,這並不總是處理查詢字元串等。
  3. 僅接收 HTTPS 請求的第二個站點

與新模組(在 IIS 8 中是預設模組)相反,它允許您以更具體的方式為站點執行規則,並更好地控制流量路由和轉換。

至於您對直接修改 web.config 文件的擔憂,有一些方法可以解決這個問題,但我現在無法找到我的原始碼。本質上,您可以將重寫配置儲存在網站配置位置,而不是應用程序級別。

  • 機器(machine.config)
  • 伺服器(ApplicationHost.config)
  • 網站
  • 應用程序 (web.config)

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