2017-03-08 177 views
0

我有一組在IIS 8.5,所有使用wilcard證書(*.myhost.com)的網站,讓我們說:SNI與IIS通配符證書8.5

api.myhost.com 
data.myhost.com 
... 

現在我想一個新的名字添加到該網站,所以我得到一個新的證書(*.newhost.com)和IIS添加新網站:

api.newhost.com 
data.newhost.com 
... 

,並在IIS中啓用Require Server Name Indication爲這個新的網站,但我的問題是IIS不停地發送舊的證書爲我的新網站,我做錯了,爲什麼IIS從不在服務器Hello中發送SNI擴展響應?

+0

SNI只在客戶端以正確的方式請求時纔有效。我建議你用Wireshark捕獲SSL/TLS會話並仔細分析數據包以找到罪魁禍首。 –

回答

0

可能舊網站/綁定沒有啓用SNI。

檢查您的每個站點的*.myhost.com綁定並啓用SNI。

如果SNI在此處被禁用,則IP和端口號組合由舊證書聲明。

否則,通過執行這個命令提供了更多信息:

netsh http show sslcert 

這將列出所有綁定

一些背景資料:https://blogs.msdn.microsoft.com/kaushal/2012/09/04/server-name-indication-sni-with-iis-8-windows-server-2012/

UPDATE: 檢查連接,下載的OpenSSL並使用OpenSSL Client創建調試信息,如下所示:

openssl s_client -state -debug -connect www.xyz.com:443 
+0

我在啓用和禁用的SNI模式下對舊網站進行了測試,並使用'netsh http show sslcert'和powrshell cmd-let'Get-WebBinding'對其進行了確認 – BigBoss

+0

嘗試使用啓用了調試選項的openssl s_client(請參閱我的更新後的帖子) –

+0

我也用'openssl s_client -connect api.newhost.com:443 -tlsextdebug'測試過,服務器從來不需要SNI並且發送舊站點的證書 – BigBoss

0

對於非SNI站點,請確保綁定設置爲「全部未分配」而不是特定IP地址(否則它們將阻礙SNI站點)。