Windows2008+iis7環(huán)境下如何部署多站點(diǎn)(SSL)https;
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
看了這個(gè)標(biāo)題,親搜索過(guò)來(lái)會(huì)是咋樣,干脆直接的說(shuō),如果搜索到了這篇文章,我就勸你放棄這個(gè)想法,想要使用Windows2008+iis7環(huán)境部署多站點(diǎn)ssl,那是不可能的事情,因?yàn)镮IS7壓根特么的就不支持,我最近研究了好幾天才寫(xiě)的這篇文章,實(shí)屬一個(gè)個(gè)的都不靠譜,如果想多站點(diǎn)部署SSL,建議使用windows 2012以上(含)系統(tǒng),均可支持,具體看站內(nèi)文章?windows server 2012 + IIS8.5部署多個(gè)SSL證書(shū)綁定https
對(duì)于win2003和win2008 iis6或者iis7服務(wù)器,由于微軟系統(tǒng)限制一個(gè)IP只能配置一個(gè)證書(shū),所以才有以上的說(shuō)辭,那真的沒(méi)有辦法了么?辦法還是有的,花錢(qián)嘛;往下看
1.如IIS7真有有多個(gè)不同的站點(diǎn)想使用證書(shū)(SSL、https),可以為這些站的所有域名購(gòu)買(mǎi)一個(gè)多域名證書(shū)(多個(gè)域名在一個(gè)證書(shū)里)即可解決此問(wèn)題;?如果這些不同站的頂級(jí)域名是一樣的,是多個(gè)不同的子域名,可以購(gòu)買(mǎi)一個(gè)通配符證書(shū)即可解決此問(wèn)題;
2.如果要購(gòu)買(mǎi)多個(gè)不同的證書(shū),也可以為服務(wù)器添加ip,為每個(gè)證書(shū)分配一個(gè)不同ip,這樣也可以解決解決win2003和win2008一個(gè)ip下只能安裝一個(gè)證書(shū)的問(wèn)題;
以上就是Windows2008系統(tǒng)+II7部署多站點(diǎn)證書(shū)的方式方法?刺激不?看到上面,干脆就放棄得了,不管多麻煩,我感覺(jué)一勞永逸還是可以的,比如換系統(tǒng);那真的沒(méi)有其他的辦法了?有。。。還是錢(qián)嘛~~~用下面這個(gè)鏈接里的工具就可以解決此問(wèn)題(購(gòu)買(mǎi)是需要花點(diǎn)小錢(qián)滴)
完整可用網(wǎng)站管理助手(iistool)4.2無(wú)限制版帶SSL證書(shū) (可部署支持windows2008+iis7.0 https、SSL多站點(diǎn)部署功能)
那到底有沒(méi)有免費(fèi)的教程呢?有~~必須動(dòng)手能力要強(qiáng)哦,我還真看了感覺(jué)可以的,用nginx反向代理方式部署多站點(diǎn)證書(shū),這是沒(méi)辦法中的辦法,這其實(shí)也是一個(gè)坑的東西;nginx有反向代理的功能,說(shuō)白啦就是說(shuō)讓有請(qǐng)求過(guò)來(lái)的時(shí)候它可以根據(jù)當(dāng)前請(qǐng)求的信息來(lái)轉(zhuǎn)發(fā)到不同的服務(wù)進(jìn)行處理,
實(shí)現(xiàn)方法
讓nginx來(lái)接管80和443端口的請(qǐng)求,同時(shí)別忘了把iis的443和80端口換成其它的端口。比如555和8080,(如果占用啦這些端口的話)
服務(wù)器80端口的處理
當(dāng)nginx80端口接到請(qǐng)求的時(shí)候根據(jù)當(dāng)前請(qǐng)求的域名信息來(lái)轉(zhuǎn)發(fā)到對(duì)應(yīng)的iis請(qǐng)求就可以啦。比如iis的站點(diǎn) www.aaa.com:8080? 因?yàn)槎丝谖覀円呀?jīng)改為8080啦要記得帶上,下面是nginx的配置
server { listen 80; server_name www.aaa.com; location / { proxy_pass http://www.aaa.com:8080; index index.html index.php index.htm; } }
有其它的網(wǎng)站的話類似添加就可以,
服務(wù)器443(https)端口的處理
443處理的情況分兩種,
一種是nginx的https轉(zhuǎn)發(fā)到iis的https
這種方法還得配置iis的https證書(shū),有點(diǎn)麻煩,不推薦使用,但是這里也給記錄下,
iis中添加https站點(diǎn)時(shí)是不能用443端口的因?yàn)?43分配給啦nginx所以添加站點(diǎn)的時(shí)候443換成其它的比如444 555等,多個(gè)https站點(diǎn)就添加多個(gè)每個(gè)端口寫(xiě)的不一樣就ok
這個(gè)時(shí)候iis中訪問(wèn)的時(shí)候是?https://www.bbb.com:555? 讓用戶用這樣的地址訪問(wèn)肯定是不行的,使用nginx給轉(zhuǎn)發(fā)一下
server { listen 443 ssl; server_name www.bbb.com; resolver 114.114.114.114 223.5.5.5 valid=3600s; #ssl on; ssl_certificate cert/1_www.bbb.com.crt; ssl_certificate_key cert/2_www.bbb.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; #charset koi8-r; #access_log logs/$host.access.log main; location / { proxy_pass https://www.bbb.com:555; index index.html index.htm; } }
另一種是nginx的https請(qǐng)求轉(zhuǎn)發(fā)到iis的http請(qǐng)求
很明顯,這種方法是最簡(jiǎn)單的啦,iis上面就不用配置https啦,就正常的處理就行如下;
server { listen 443 ssl; server_name www.bbb.com; resolver 114.114.114.114 223.5.5.5 valid=3600s; #ssl on; ssl_certificate cert/1_www.bbb.com.crt; ssl_certificate_key cert/2_www.bbb.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; #charset koi8-r; #access_log logs/$host.access.log main; location / { proxy_pass http://www.bbb.com:8080; index index.html index.htm; } }
到此功能就全實(shí)現(xiàn)啦,另外注意點(diǎn) 8080和555 666 等端口不用設(shè)置為外網(wǎng)訪問(wèn),外網(wǎng)訪問(wèn)還是只有80 和443就可以啦,其實(shí)這么操作,也不咋樣,還是各種問(wèn)題吧;還是不夠直接,不像Windows 2012那樣操作方便;
windows2008+iis7 部署https證書(shū)多站點(diǎn)的解決辦法(此方法測(cè)試無(wú)啥用,不過(guò)也寫(xiě)出來(lái)給想嘗試的人)
第一步:iis里正常綁定要設(shè)置證書(shū)的網(wǎng)站
第二步:打開(kāi)文件 C:\Windows\system32\inetsrv\config\applicationHost.config (注:修改之前可以備份一下這個(gè)文件)
第三步:修改文件(把https那一行的端口 改成443后面要跟上對(duì)應(yīng)的網(wǎng)址)
第四步:重啟服務(wù)器
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫(xiě)所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!