在 IIS7、W2K8 上的伺服器重新啟動後 SSL 證書停止工作
我們最近從 W2K3/IIS6 升級到 W2K8/IIS7,並且我們的 SSL 證書(Thawte 123 SSL 證書)在重新啟動後停止工作。
最初,中間證書將停止工作,我們可以通過在重啟後重新安裝所有證書來修復問題(很煩人,但不是世界末日)。不幸的是,這不再有效。證書鏈已由多種工具和具有良好知識的人員進行了雙重檢查,但沒有人能夠確定問題的原因。
IIS 中的綁定也已檢查
證書本身也仍然有效。
注意 1:我看到這個問題似乎非常相似,但在那篇文章中沒有令人滿意的答案,而且它已經有一年了,所以不太可能很快得到答案。注意 2:我代表同事提出此問題,因此無法對任何問題/建議提供即時回饋,但我會將其傳遞。
網址是:
http://www.flirtalike.com / https://www.flirtalike.com
截圖:
我們從這裡找到了一個解決方案:
機器重新啟動後,轉到 IIS 管理器並打開相關網站的 Bindings… 視窗。然後,選擇“https”,點擊“編輯”,然後點擊“確定”而不對設置進行任何更改。完成此操作後,現在應該可以成功瀏覽到 https://。
不幸的是,每次重啟後我們仍然需要這樣做,但至少我們有工作 SSL!
我們注意到了同樣的問題。每次伺服器重新啟動後,SSL 證書都會被刪除。EventLog 中的警告在趨勢科技防毒牆網路版啟動後立即出現在我們的電腦上。但即使解除安裝病毒掃描程序也沒有改變任何東西。每次重啟後問題依然存在。
我們的研究以確認結束,所有設置在系統資料庫和“C:\Windows\System32\inetsrv\config\”中的“applicationHost.config”中都正確完成。但重新啟動後,此文件被修改,證書分配被刪除。(也許有人可以從這裡找到真正的原因。
我們現在的結論是解決問題。使用此指令,我們創建了 PowerShell 腳本以再次分配證書。 http://www.iis.net/learn/manage/powershell/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in 然後將其設置為在電腦啟動時自動執行(在提升模式!)。
Import-Module WebAdministration;set-location IIS:\ cd IIS:\SslBindings get-item "cert:\LocalMachine\webHosting\*" | new-item 0.0.0.0!443
根據您的證書儲存,您需要調整位置。如果您有多個證書,則需要添加一個“-filter”來選擇正確的證書。(以上範例用於在埠 443 上為所有 IP “*” 設置證書。)
希望這可以幫助其他人解決這個愚蠢的問題。我們在 2016 年使用 IIS8 在“Win2012 伺服器”上得到了這個(!) - 同樣的問題仍然存在!