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