Windows-Server-2003

IIS 伺服器上的圖像不保留 HTTPS 協議

  • August 1, 2011

使用 HTTPS 連接時,我們收到以下警告:

“您的連接使用 128 位加密進行加密。但是,此頁麵包含其他不安全的資源。”

**問題:**我們將問題縮小到 SSL 頁面上的圖像。如果我們將 SSL URL 粘貼到瀏覽器中,它會重定向到非 SSL 連接。

例如:我們將“ https://www.example.com/images/checkout.gif ”粘貼到瀏覽器中,它會立即重定向到“ http://www.example.com/images/checkout.gif

我們正在執行以下伺服器規格:

伺服器: Windows Server 2003 網路版

IIS 版本: 6.0

我們檢查了配置設置,一切似乎都很好。

**編輯:**我們在本地伺服器上嘗試了同樣的問題,並且沒有發生重定向。使用“HttpFox”firefox 外掛,我們看到我們在生產伺服器上收到從 https 到 http 的 302 重定向。當我們在本地伺服器上執行相同的測試時,302 重定向不會發生。檢查兩台伺服器上的 IIS 6 配置顯示沒有差異。

需要更多資訊,因此可能是時候打破差異引擎了。

從 microsoft.com 獲取 Web 部署工具 (MSDEPLOY),然後從工作的 Web 伺服器創建一個包。

然後,使用 -whatif 執行 msdeploy -verb:sync 以將包與 prod 伺服器進行比較,並揭示配置中的差異。

如果沒有差​​異,它們將執行相同的操作。不是,所以有一個,只是到目前為止你還沒有看到。

事實證明,這個問題是由我們不知道的 SSL 模組引起的。有問題的模組被命名為secureWebPages。我們必須向組件添加額外的路徑,以確保圖像、腳本和样式也能以 https 形式出現。我們將配置文件從 …

<secureWebPages enabled="true" xdt:Transform="Insert">
 <directory path="/checkout" />
</secureWebPages>

到 …

<secureWebPages enabled="true" xdt:Transform="Insert">
 <directory path="/images" ignore="true" />
 <directory path="/styles" ignore="true" />
 <directory path="/scripts" ignore="true" />
 <directory path="/checkout" />
</secureWebPages>

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