時(shí)間:2023-07-14 11:39:01 | 來源:網(wǎng)站運(yùn)營
時(shí)間:2023-07-14 11:39:01 來源:網(wǎng)站運(yùn)營
Nginx安裝與升級 Nginx服務(wù)器 Nginx虛擬主機(jī) 、 HTTPS加密網(wǎng)站的學(xué)習(xí):我的知識:技術(shù)分析延伸未知領(lǐng)域:
為什么我不能在相同IP地址下多個域名的虛擬主機(jī)上使用SSL?
這個問題十分專業(yè),有些像“先有雞還是先有蛋”的問題。SSL協(xié)議層是在HTTP協(xié)議層下面的,當(dāng)SSL連接建立時(shí),SSL模塊在Web模塊之前和 瀏覽器進(jìn)行通訊并交換證書、建立加密隧道。眾所周知,Web服務(wù)器是通過HTTP數(shù)據(jù)包中的”Host”字段來區(qū)分虛擬主機(jī)的。而SSL模塊在把服務(wù)器證 書發(fā)送到瀏覽器時(shí),還沒有收到任何關(guān)于HTTP的數(shù)據(jù)包,更不知道虛擬主機(jī)的域名,因此SSL模塊只能固定的將一張SSL證書發(fā)送到瀏覽器,而不能根據(jù)域 名有選擇性的發(fā)送證書。因此,您無法在一個IP地址的默認(rèn)SSL 443端口下為多個虛擬主機(jī)配置多張證書。
由于一個IP與一個端口號只能對應(yīng)一張證書,因此我們可以采用以下方式來解決:
1、為需要SSL加密的虛擬主機(jī)配置不同的IP地址,端口號都使用443。例如: http://www.domain1.com 的SSL使用 202.96.101.1:443 http://www.domain2.com的SSL使用 202.96.101.2:443,通過 https://www.domain1.com 和 https://www.domain2.com 訪問這2個SSL網(wǎng)站了
2、如果只有一個IP地址,可以為多個網(wǎng)站配置不同的SSL端口。例如: http://www.domain1.com 的SSL使用 202.96.101.1:443 http://www.domain2.com的SSL使用 202.96.101.1:1000,通過 https://www.domain1.com 和 https://www.domain2.com:1000 訪問這2個SSL網(wǎng)站了
如果多個虛擬主機(jī)是1個主域名下的多個子域名,情況發(fā)生了轉(zhuǎn)變,因?yàn)槟憧梢陨暾埻ㄅ浞鸖SL證書。
例如: 有2個虛擬主機(jī) http://abc.domain.com、http://xyz.domain.com,你申請一張 *.http://domain.com的證書,按照前面所說的原理,2個虛擬主機(jī)都使用同一個IP和默認(rèn)的443端口,當(dāng)瀏覽器訪問IP:443端口時(shí),SSL模塊把 通配符SSL證書傳送給瀏覽器,建立合法的SSL隧道,然后WEB模塊接收到HTTP數(shù)據(jù)包時(shí)判斷域名選擇虛擬主機(jī)。
原理是OK的,不幸的是你無法按照這個原理對IIS進(jìn)行配置,IIS不支持SSL端口配置域名。如果僅依靠IIS,你不得不使用上面的2個方法(不同的IP地址或者不同的端口號)。
如果僅有1個IP地址,采用方法2時(shí),http://abc.domain.com 使用 443端口、http://xyz.domain.com使用1000端口,你會發(fā)現(xiàn)一個現(xiàn)象,由于SSL端口不區(qū)分域名,因此 https://abc.domain.com還是https://xyz.domain.com都是指向http://abc.domain.com網(wǎng)站內(nèi)容,而 https://abc.domain.com:1000還是https://xyz.domain.com:1000都是指向 http://xyz.domain.com網(wǎng)站內(nèi)容的。當(dāng)然這也有好處,你可以在http://abc.domain.com下放一個程序,程序判斷一下域名,如果用戶訪問 https://xyz.domain.com就馬上跳轉(zhuǎn)到https://xyz.domain.com:1000,不會有任何的安全警告。
幸運(yùn)的是,通過SSL反向代理服務(wù)器,你可以解決這個問題。就是使用第三方的SSL模塊來替代IIS處理SSL加密,將證書安裝反向代理服務(wù)器中, 瀏覽器訪問SSL反向代理服務(wù)器,然后反向代理服務(wù)器使用HTTP協(xié)議訪問你的Web服務(wù)器。你可以選擇SSL反向代理硬軟件有: 1、支持SSL的負(fù)載均衡器,如F5、ArrayNetworks
2、使用ISA Server 2004軟件。
3、使用免費(fèi)的Squid軟件。
4、使用免費(fèi)的Stunnel軟件。
5、使用PortTunnel軟件。
關(guān)鍵詞:學(xué)習(xí),主機(jī),安裝,升級,服務(wù),虛擬
客戶&案例
營銷資訊
關(guān)于我們
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。