Iis-6

在 IIS 6 上偽造 HTTPS

  • March 28, 2011

我正在尋找一種方法來告訴 IIS 6,即使請求來自 http,它也可以被視為 https。

在請求到達應用伺服器之前管理 HTTPS。對於 Tomcat,我們使用帶有 http 標頭 X-Forwarded-Proto 的 RemoteIpValve 來告訴 Tomcat 連接是否安全。

有沒有辦法在 IIS 中做到這一點?Isapi 過濾器能否成為解決方案?

謝謝你的所有提示。

$$ EDIT : $$更準確地說:對於我們的 tomcat,架構如下:

   USER
     |
    LoadBalancer (KeepAlived)
    |  |
    |  '- Apache (SSL)
    |
    HaProxy
    |
    |
    Tomcat

當使用者在 tomcat 上發出 https 請求時,請求會通過 apache 進行 https 被解碼(Apache 添加X-Forwarded-Proto: https標頭)。然後請求通過 HaProxy(Http LoadBalancer) 重定向到 Tomcat。

我希望它更清楚一點。

PS:請原諒我的英語,我練習得不夠。

例如,對於 IIS7,Application Request Routing (ARR) + ARR Helper 通過添加 x-headers 來實現這一點,就像您使用 Tomcat 一樣。

您將需要一個 ISAPI 過濾器來將 x-header 重寫為 IIS6 框上的原始標頭值。Microsoft 沒有用於重寫標頭的 IIS6 解決方案,但您可以查看 BigIP 客戶端是否會為您執行此操作,或者您自己編寫。

IIS7 已經有本地解決方案,因此如果您需要在開發自己的 ISAPI 過濾器(不是一件容易的事)或升級之間做出選擇,這可能是考慮升級您的環境的機會。

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