服務(wù)器多站點(diǎn)多域名HTTPS實(shí)現(xiàn) |
假設(shè)有這樣一個(gè)場景,我們有多個(gè)站點(diǎn)(例如site1.example.com,site2.example.com和site3.example.com)綁定到同一個(gè)IP:PORT,并區(qū)分不同的主機(jī)頭。我們?yōu)槊恳粋€(gè)SSL站點(diǎn)申請并安裝了證書。在瀏覽網(wǎng)站時(shí),用戶仍看到證書不匹配的錯(cuò)誤。 IIS當(dāng)一個(gè)https的請求到達(dá)IIS服務(wù)器時(shí),https請求為加密狀態(tài),需要拿到相應(yīng)的服務(wù)器證書解密請求。由于每個(gè)站點(diǎn)對應(yīng)的證書不同,服務(wù)器需要通過請求中不同的主機(jī)頭來判斷需要用哪個(gè)證書解密,然而主機(jī)頭作為請求的一部分也被加密。最終IIS只好使用第一個(gè)綁定到該IP:PORT的站點(diǎn)證書解密請求,從而有可能造成對于其他站點(diǎn)的請求失敗而報(bào)錯(cuò)。 解決方案
|