默認情況下,IIS7 下面 HTTPS 綁定是無法指定主機名的。 如下圖可以看到“主機名”這塊是灰色不可編輯的。
IIS7下的https無法綁定主機頭,顯示灰色,原因是IIS7不支持SNI,即一個IP只能綁定到一個HTTPS站點上。
打開IIS ,找到網(wǎng)站,右擊編輯綁定時:
關(guān)于導(dǎo)入iis .pfx格式的證書后,編輯綁定時,主機名為灰色的問題
解決方法 :
我們可以通過手工修改 IIS 配置來實現(xiàn)主機頭綁定。打開如下位置的文件。
注意:這個文件可以無法直接打開編輯(報文件不存在),可以先把它復(fù)制到桌面上去編輯,編輯完畢后再覆蓋回去。
(1)打開C:\Windows\system32\inetsrv\config\applicationHost.config
(2)找到如下節(jié)點位置:
1 2 3 4 5 6 7 8 9 10 11 | <site name= "ishop" id= "6082" serverAutoStart= "true" > <application path= "/" applicationPool= "ishop" > <virtualDirectory path= "/" physicalPath= "C:\wwwroot\ishops\web" /> </application> <bindings> <binding protocol= "http" bindingInformation= ":80:www.xxxx.com" /> <binding protocol= "https" bindingInformation= "*:443: " /> </bindings> <limits maxBandwidth= "4294967295" maxConnections= "4294967295" /> <logFile logFormat= "W3C" directory= "C:\wwwroot\ishops\log" /> </site> |
*以www.xxxx.com域名為例
將
<binding protocol=”https” bindingInformation=”*:443: ” />
改為:
<binding protocol=”https” bindingInformation=”*:443:www.xxxxx.com” />
注意:這個文件可以無法直接打開編輯(報文件不存在),可以先把它復(fù)制到桌面上去編輯,編輯完畢后再覆蓋回去。
(4)修改完畢后(不用重啟),訪問https://www.xxxx.com試試
這樣操作的確是主機頭和443端口對應(yīng)了,但是我們會發(fā)現(xiàn)其實多個站點https訪問后請求到的證書只是最后一個配置的站點,這就導(dǎo)致還是只有一個域名可以正常使用https.
如何處理這個問題呢?
方式1:購買多個IP,每個IP解析一個域名,在綁定HTTPS時指定IP
方式2:使用kangle,apache等來做反代IIS,在前端web服務(wù)器上綁定https.
方式3:更換為支持SNI的IIS版本,比如2012R2系統(tǒng)。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇