專利名稱:VPN中安全代理的Web服務(wù)映射方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及VPN中安全代理的Web服務(wù)映射技術(shù)。
背景技術(shù):
虛擬專用網(wǎng)(Virtual Private Networking,簡(jiǎn)稱“VPN”)主要采用的協(xié)議有網(wǎng)際協(xié)議安全(InternetProtocol Security,簡(jiǎn)稱“ IPSec”)、點(diǎn)對(duì)點(diǎn)隧道協(xié)議(Point to PointTunneling Protocol,簡(jiǎn)稱“PPTP”)、第二層轉(zhuǎn)發(fā)(協(xié)議)(Layer 2Forwarding,簡(jiǎn)稱“L2F”)和第二層隧道協(xié)議(Layer 2Tunnel Protocol,簡(jiǎn)稱“L2TP”)等;SSL VPN是指采用安全套接字層(Secure Socket Layer,簡(jiǎn)稱“SSL”)協(xié)議來(lái)實(shí)現(xiàn)遠(yuǎn)程接入的一種VPN技術(shù)。SSL協(xié)議是網(wǎng)景公司提出的一種安全協(xié)議,它包括服務(wù)器認(rèn)證、客戶端認(rèn)證(可免)、SSL鏈路上的數(shù)據(jù)完整性和數(shù)據(jù)保密性認(rèn)證。域名解析是把域名指向網(wǎng)站空間IP,讓人們通過注冊(cè)的域名可以方便地訪問到網(wǎng)站一種服務(wù),域名解析也叫域名指向、服務(wù)器設(shè)置、域名配置以及反向IP登記等等。即將好記的域名解析成IP,服務(wù)由DNS服務(wù)器完成,是把域名解析到一個(gè)IP地址,然后在此IP地址的主機(jī)上將一個(gè)子目錄與域名綁定。反向代理方式是指以代理服務(wù)器來(lái)接受Internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。代理服務(wù)器是使用非常普遍的一種將局域網(wǎng)主機(jī)聯(lián)入互聯(lián)網(wǎng)的一種方式,使用代理上網(wǎng)可以節(jié)約緊缺的IP地址資源,而且可以阻斷外部主機(jī)對(duì)內(nèi)部主機(jī)的訪問,使內(nèi)部網(wǎng)主機(jī)免受外部網(wǎng)主機(jī)的攻擊。但是,如果想讓互聯(lián)網(wǎng)上的主機(jī)訪問內(nèi)部網(wǎng)的主機(jī)資源,例如Web站點(diǎn),又想使內(nèi)部網(wǎng)主機(jī)免受外部網(wǎng)主機(jī)攻擊,一般的代理服務(wù)是不能實(shí)現(xiàn)的,需要使用反向代理來(lái)實(shí)現(xiàn)。反向代理也就是通常所說(shuō)的Web服務(wù)器加速,它是一種通過在繁忙的Web服務(wù)器和Internet之間增加一個(gè)高速的Web緩沖服務(wù)器即Web反向代理服務(wù)器來(lái)降低實(shí)際的Web服務(wù)器的負(fù)載。
開放系統(tǒng)互連參考模型(OpenSystem Interconnection Reference Model,簡(jiǎn)稱“0S1-RM”)中應(yīng)用層的VPN即SSL VPN,用瀏覽器通過PC、智能手機(jī)、iPad等設(shè)備同SSL安全通道訪問。本發(fā)明的發(fā)明人發(fā)現(xiàn),傳統(tǒng)的應(yīng)用層VPN需要分析、理解Web應(yīng)用的內(nèi)容,通過對(duì)其內(nèi)容的改寫使用戶瀏覽器發(fā)出的請(qǐng)求通過VPN,從而實(shí)現(xiàn)SSL安全代理,這種方式會(huì)存在以下問題,由于用Javascirpt編寫的代碼越來(lái)越復(fù)雜,導(dǎo)致對(duì)Web響應(yīng)的解析難度越來(lái)越大,同時(shí)Web技術(shù)不斷更新,如RSS等,必須不斷增加對(duì)這些新技術(shù)的支持,因此,有必要開發(fā)一種簡(jiǎn)化Web響應(yīng)解析和改寫過程的技術(shù),以解決上述問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種VPN中安全代理的Web服務(wù)映射方法及其系統(tǒng),在實(shí)際應(yīng)用中維護(hù)成本較小,且對(duì)后臺(tái)Web服務(wù)返回的Web響應(yīng)改寫時(shí),對(duì)HTTP的頭和內(nèi)容進(jìn)行簡(jiǎn)單的查找和替換(或者稱為“改寫”),簡(jiǎn)化了 Web響應(yīng)解析和改寫過程,其實(shí)現(xiàn)簡(jiǎn)單且穩(wěn)定性和效率較高,避免了對(duì)Web響應(yīng)里HTML和Javascript繁瑣代碼的解析,對(duì)Web服務(wù)的訪問速度較快。為解決上述技術(shù)問題,本發(fā)明的實(shí)施方式公開了一種VPN中安全代理的Web服務(wù)映射方法,VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與安全代理的域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口 ;方法包括以下步驟當(dāng)安全代理收到來(lái)自客戶端的Web服務(wù)請(qǐng)求時(shí),根據(jù)該請(qǐng)求中的域名或者接收到請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù),并將該請(qǐng)求轉(zhuǎn)發(fā)給提供該Web服務(wù)的Web服務(wù)器;當(dāng)安全代理收到來(lái)自Web服務(wù)器的Web響應(yīng)時(shí),根據(jù)所述映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接,再將經(jīng)替換的Web響應(yīng)轉(zhuǎn)發(fā)給客戶端。本發(fā)明的實(shí)施方式還公開了一種VPN中安全代理的Web服務(wù)映射系統(tǒng),VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與安全代理的域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口;系統(tǒng)包括以下模塊第一接收模塊,用于在安全代理中接收來(lái)自客戶端的Web服務(wù)請(qǐng)求;映射模塊,用于根據(jù)所述第一接收模塊接收到的請(qǐng)求中的域名或者接收到該請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù);第一轉(zhuǎn)發(fā)模塊,用于將所述第一接收模塊接收到的Web服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至通過所述映射模塊找到的所述Web服務(wù)的Web服務(wù)器;第二接收模塊,用于在安全代理中接收來(lái)自所述Web服務(wù)器返回的Web響應(yīng);改寫模塊,用于將所述第二接收模塊接收到的Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接;第二轉(zhuǎn)發(fā)模塊,用于將經(jīng)所述改寫模塊替換的Web響應(yīng)轉(zhuǎn)發(fā)給所述客戶端。本發(fā)明實(shí)施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于SSL VPN安全代理在SSL VPN中端口映射和域名映射的Web服務(wù)映射方法進(jìn)行的”快速連接”技術(shù),在實(shí)際應(yīng)用中維護(hù)成本較小,且對(duì)后臺(tái)Web服務(wù)返回的Web響應(yīng)改寫時(shí),對(duì)HTTP的頭和內(nèi)容進(jìn)行簡(jiǎn)單的查找和替換(或者稱為“改寫”),簡(jiǎn)化了 Web響應(yīng)解析和改寫過程,其實(shí)現(xiàn)簡(jiǎn)單且穩(wěn)定性和效率較高,且避免了對(duì)Web響應(yīng)里HTML和Javascript繁瑣代碼的解析,對(duì)Web服務(wù)的訪問速度較快。進(jìn)一步地,對(duì)于端口模式,需要客戶打開其防火墻上對(duì)于VPN設(shè)備上該端口的限制。對(duì)于域名模式,需要客戶在公網(wǎng)DNS上注冊(cè)一個(gè)域名,該域名解析到VPN設(shè)備的IP。在安全代理中申請(qǐng)Wild-Card證書用于SSL VPN,且VPN中的安全代理虛擬站點(diǎn)域名和與Web服務(wù)有映射關(guān)系的安全代理的域名在同一父域名下,可以使得Web請(qǐng)求和響應(yīng)在SSL VPN安全代理“快速連接”模式和其他模式之間模式切換時(shí),或者可以使得在SSLVPN安全代理“快速連接”模式中Web請(qǐng)求和響應(yīng)基于安全代理端口或者域名映射之間模式切換時(shí),避免在認(rèn)證證書不是受信任證書管理機(jī)構(gòu)頒發(fā)的情況下,再次彈出警告。進(jìn)一步地,在SSL VPN安全代理“快速連接”的域名映射模式中,安全代理對(duì)收到的來(lái)自Web服務(wù)器的Cookie中的域進(jìn)行編碼,并在Cookie中加入父域名通配形式的域,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給客戶端;或者安全代理對(duì)收到的來(lái)自瀏覽器的Cookie中的域進(jìn)行解碼,并以解碼所得的域替換父域名通配形式的域,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給提供Web服務(wù)的Web服務(wù)器??梢员WC在SSL VPN安全代理“快速連接”模式和其他模式之間模式切換時(shí),或者可以保證在SSL VPN安全代理虛擬站點(diǎn)之間切換的時(shí),這些Cookie都能被瀏覽器發(fā)到VPN安全代理上,對(duì)封裝了域名和路徑的Cookie進(jìn)行解碼,然后決定應(yīng)該向后臺(tái)服務(wù)發(fā)哪些Cookie,這樣,Web服務(wù)的Cookie不會(huì)因?yàn)榭缬蚨豢蛻舳嘶驗(yàn)g覽器丟掉。進(jìn)一步地,Web響應(yīng)的替換為對(duì)HTTP和HTTPS協(xié)議頭scheme中的URL替換,使得SSL VPN安全代理“快速連接”域名映射模式的實(shí)現(xiàn)更加簡(jiǎn)單和直接,提高了 SSL VPN安全代理中Web服務(wù)的請(qǐng)求和響應(yīng)速度和效率。
圖1是本發(fā)明第一實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射方法的流程示意圖;圖2是本發(fā)明第二實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射方法的流程示意圖;圖3是本發(fā)明第二實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射原理示意圖;圖4是本發(fā)明第二實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射方法的流程示意圖;圖5是本發(fā)明第二實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射方法的流程示意圖;圖6是本發(fā)明第三實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖;圖7(a)是本發(fā)明第四實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖;圖7(b)是本發(fā)明第四實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式在以下的敘述中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)各權(quán)利要求所要求保護(hù)的技術(shù)方案。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作進(jìn)一步地詳細(xì)描述。本發(fā)明第一實(shí)施方式涉及一種VPN中安全代理的Web服務(wù)映射方法。圖1是該VPN中安全代理的Web服務(wù)映射方法的流程示意圖。該VPN中安全代理的Web服務(wù)映射方法,VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口。在本發(fā)明的各實(shí)施方式中,VPN的安全代理是指一個(gè)VPN設(shè)備。
如圖1所示,方法包括以下步驟在步驟101中,安全代理收到來(lái)自客戶端的Web服務(wù)請(qǐng)求;在本發(fā)明的其他實(shí)施方式中,還需要在發(fā)出Web服務(wù)請(qǐng)求的內(nèi)網(wǎng)中的防火墻上,打開該防火墻對(duì)該VPN端口的訪問限制。并且在公網(wǎng)上的DNS上對(duì)VPN安全代理進(jìn)行域名注冊(cè),使其域名解析到VPN安全代理虛擬站點(diǎn)的IP。通過打開對(duì)SSL VPN安全代理端口的防火墻限制和對(duì)VPN進(jìn)行域名注冊(cè),可以實(shí)現(xiàn)在SSL VPN安全代理上,對(duì)Web服務(wù)的端口或者域名請(qǐng)求和響應(yīng)。在公網(wǎng)的DNS上對(duì)SSL VPN安全代理注冊(cè)域名,使其域名解析到VPN安全代理虛擬站點(diǎn)的IP的步驟中,也可以在DNS A記錄中添加二級(jí)域名,且在DNS A記錄中添加包括但不僅限于二級(jí)域名,還可以是三級(jí)域名、四級(jí)域名、五級(jí)域名等等,通過DNS A記錄的子域名,對(duì)VPN安全代理虛擬站點(diǎn)進(jìn)行IP指向,當(dāng)映射模式轉(zhuǎn)換時(shí),避免了域名模式認(rèn)證管理的問題,不容易出錯(cuò),且容易進(jìn)行IP定位。此后進(jìn)入步驟102,根據(jù)該請(qǐng)求中的域名或者接收到該請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù)。對(duì)于端口映射模式,一個(gè)后臺(tái)Web服務(wù)映射到一個(gè)唯一的端口,VPN安全代理通過HTTP請(qǐng)求中的端口來(lái)判斷請(qǐng)求是發(fā)給哪一個(gè)后臺(tái)Web服務(wù)。對(duì)于域名映射模式,一個(gè)后臺(tái)Web服務(wù)映射到一個(gè)唯一的域名,VPN安全代理通過HTTP請(qǐng)求中的域名來(lái)判斷請(qǐng)求是發(fā)給哪一個(gè)后臺(tái)Web服務(wù)。此后進(jìn)入步驟103,將該請(qǐng)求轉(zhuǎn)發(fā)給提供該Web服務(wù)的Web服務(wù)器,根據(jù)該請(qǐng)求中的域名或者接收到該請(qǐng)求的端口,在安全代理上設(shè)置的不同Web服務(wù)與相對(duì)應(yīng)域名或端口的一一映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù)域名;對(duì)于域名映射模式,預(yù)先在安全代理上設(shè)置的不同Web服務(wù)與相對(duì)應(yīng)域名的一一映射關(guān)系,使得一個(gè)后臺(tái)Web服務(wù)映射到一個(gè)唯一的公網(wǎng)域名,VPN安全代理通過HTTP請(qǐng)求中的Host域來(lái)判斷Web服務(wù)請(qǐng)求是發(fā)給哪一個(gè)后臺(tái)Web服務(wù)。在本發(fā)明的其他實(shí)施方式中,安全代理對(duì)客戶端Web服務(wù)請(qǐng)求及服務(wù)器Web響應(yīng)、映射以及轉(zhuǎn)發(fā),可以通過域名映射模式進(jìn)行,也可以端口和域名映射組合模式進(jìn)行。此后進(jìn)入步驟104,安全代理收到來(lái)自Web服務(wù)器的Web響應(yīng)。此后進(jìn)入步驟105,安全代理根據(jù)所述映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接。在本發(fā)明的其他實(shí)施方式中,Web響應(yīng)可以包括響應(yīng)的頭及其內(nèi)容。此后進(jìn)入步驟106,安全代理根據(jù)安全代理的與對(duì)應(yīng)域名或者端口的一一映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接,此后結(jié)束本流程;SSL VPN安全代理在SSL VPN中實(shí)現(xiàn)的“快速連接”技術(shù),在實(shí)際應(yīng)用中維護(hù)成本較小,且對(duì)后臺(tái)Web服務(wù)返回的Web響應(yīng)改寫時(shí),對(duì)HTTP的頭和內(nèi)容進(jìn)行簡(jiǎn)單的查找和替換(或者稱為“改寫”),簡(jiǎn)化了 Web響應(yīng)解析和改寫過程,其實(shí)現(xiàn)簡(jiǎn)單且穩(wěn)定性和效率較高,且避免了對(duì)Web響應(yīng)所包含的HTML和Javascript繁瑣代碼的解析,對(duì)Web服務(wù)的訪問速度較快。通過在SSL VPN安全代理上設(shè)置的Web服務(wù)和域名或者端口的這種映射關(guān)系,將端口和域名映射模式進(jìn)行Web服務(wù)請(qǐng)求或者相應(yīng)的這種技術(shù)命名為quicklink(或者稱為“快速連接”)。在本發(fā)明的其他實(shí)施方式中,將SSL VPN安全代理端口號(hào)或者Web服務(wù)在公網(wǎng)所發(fā)布的域名作為用戶請(qǐng)求的入口。在本發(fā)明的其他實(shí)施方式中,每個(gè)Web服務(wù)器提供一個(gè)或多個(gè)Web服務(wù)。在本發(fā)明的其他實(shí)施方式中,所述服務(wù)還包括WAP服務(wù)等。本發(fā)明第二實(shí)施方式涉及一種VPN中安全代理的Web服務(wù)映射方法。圖2是該VPN中安全代理的Web服務(wù)映射方法的流程示意圖。第二實(shí)施方式在第一實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于使用SSL的VPN,可以實(shí)現(xiàn)VPN的安全代理,這樣保證了虛擬專用網(wǎng)的數(shù)據(jù)傳輸專一性,增加了安全性和完整性。申請(qǐng)Wild-Card證書,使得VPN的虛擬站點(diǎn)域名和一個(gè)或多個(gè)域名模式的quicklink域名都在同一父域名下,這樣,就避免在認(rèn)證證書不是受信任證書管理機(jī)構(gòu)頒發(fā)的情況下,虛擬站點(diǎn)和quicklink模式切換以及多個(gè)quicklink模式之間切換的時(shí)候,再次彈出警告。將Web服務(wù)設(shè)置的Cookie的域、路徑以及名稱按照一定格式封裝起來(lái)作為一個(gè)新cookie,這個(gè)新cookie的域設(shè)置成與quicklink域名父域名通配的形式,在虛擬站點(diǎn)和quicklink模式切換以及多個(gè)quicklink模式之間切換的時(shí)候,這些新Cookie通過其域設(shè)置成與quicklink域名的父域名通配的機(jī)制都能被瀏覽器發(fā)到VPN安全代理上,VPN安全代理再對(duì)封裝了域名和路徑的Cookie再進(jìn)行解析,然后決定應(yīng)該向后臺(tái)服務(wù)發(fā)哪些Cookie,Web服務(wù)的Cookie不會(huì)因?yàn)榭缬蚨豢蛻舳嘶驗(yàn)g覽器丟掉,就使得用戶Web服務(wù)請(qǐng)求可以通過SSL VPN,實(shí)現(xiàn)安全網(wǎng)絡(luò)訪問。具體說(shuō)VPN是SSL VPN,客戶 端是瀏覽器。瀏覽器是萬(wàn)維網(wǎng)服務(wù)的客戶端瀏覽程序,可向萬(wàn)維網(wǎng)服務(wù)器發(fā)送各種請(qǐng)求,并對(duì)從服務(wù)器發(fā)來(lái)的超文本信息和各種多媒體數(shù)據(jù)格式進(jìn)行解釋、顯示和播放。目前主流的瀏覽器主要包括 Chrome、safar1、Firefox、Internet Explorer、opera、傲游瀏覽器等。支持超文本傳輸協(xié)議(Hyper Text Transfer Protocol,簡(jiǎn)稱“HTTP”)和超文本傳輸協(xié)議安全協(xié)議(Hyper Text Transfer Protocal Secure,簡(jiǎn)稱 “HTTPS”),超文本標(biāo)記語(yǔ)言(HyperText Makeup Language,簡(jiǎn)稱“HTML”),可擴(kuò)充標(biāo)記語(yǔ)言(extensible Markup Language,簡(jiǎn)稱“XML”),可擴(kuò)展的超文本標(biāo)記語(yǔ)言(extensible HTML,簡(jiǎn)稱“XHTML”),支持圖形檔案格式如圖像交換格式(Graphics Interchange Format,簡(jiǎn)稱“GIF”)、聯(lián)合圖像專家組(JointPhotographic Experts Group,簡(jiǎn)稱 “JPEG”)格式、可縮放向量圖形(Scalable VectorGraphics,簡(jiǎn)稱“SVG”)格式、層疊樣式表(Cascading Style Sheets,簡(jiǎn)稱“CSS”)格式、動(dòng)態(tài)網(wǎng)頁(yè)DHTML, Cookie讓網(wǎng)站可以追蹤瀏覽者、電子證書、Macromedia Flash、Java applet、Favicons以及無(wú)線應(yīng)用協(xié)議等,可以實(shí)現(xiàn)書簽管理、下載管理、網(wǎng)頁(yè)內(nèi)容快取、透過第三方插件(plugins)支援多媒體、網(wǎng)址和表單資料自動(dòng)完成、分頁(yè)瀏覽、禁止彈出式廣告以及廣告過濾等。在本發(fā)明的其他實(shí)施例中,VPN中安全代理包括但不限于SSL VPN安全代理,還包括基于其他網(wǎng)絡(luò)安全協(xié)議的安全代理,比如網(wǎng)際協(xié)議安全(InternetProtocol Security,簡(jiǎn)稱“IPSec”)、點(diǎn)對(duì)點(diǎn)隧道協(xié)議(Point to Point Tunneling Protocol,簡(jiǎn)稱“PPTP”)、第二層轉(zhuǎn)發(fā)(協(xié)議)(Layer 2Forwarding,簡(jiǎn)稱“L2F”)和第二層隧道協(xié)議(Layer 2TunnelProtocol,簡(jiǎn)稱“L2TP”)等用于實(shí)現(xiàn)服務(wù)器認(rèn)證、客戶端認(rèn)證(可免)、SSL鏈路上的數(shù)據(jù)完整性和SSL鏈路上的數(shù)據(jù)保密性認(rèn)證。如圖2所示的VPN中的Web中安全代理的Web服務(wù)映射方法工作流程圖中,具體說(shuō)在步驟201中,安全代理申請(qǐng)wild-card證書,使得VPN中的安全代理虛擬站點(diǎn)域名和與Web服務(wù)有映射關(guān)系的安全代理的域名在同一父域名下。此后進(jìn)入步驟202,安全代理收到來(lái)自客戶端的Web服務(wù)請(qǐng)求;在本發(fā)明的其他實(shí)施方式中,VPN中的安全代理虛擬站點(diǎn)域名可以為網(wǎng)絡(luò)資源映射(Web Resource Mapping,簡(jiǎn)稱“WRM”)模式下的VPN安全代理虛擬站點(diǎn)域名,亦可以為“快速連接”模式下域名映射模式的VPN安全代理虛擬站點(diǎn)域名。此后進(jìn)入步驟203,根據(jù)該請(qǐng)求中的域名或者接收到請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù)。此后進(jìn)入步驟204,將該請(qǐng)求轉(zhuǎn)發(fā)給提供該Web服務(wù)的Web服務(wù)器。此后進(jìn)入步驟205,安全代理收到來(lái)自Web服務(wù)器的Web響應(yīng)。此后進(jìn)入步驟206,根據(jù)所述映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的HTTP和HTTPS協(xié)議的URL鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的URL鏈接。此后進(jìn)入步驟207,安全代理轉(zhuǎn)發(fā)經(jīng)替換的Web響應(yīng)給客戶端,此后返回步驟202 ;在本發(fā)明的其他實(shí)施例中,圖3是本發(fā)明第二實(shí)施方式中一種VPN中安全代理的Web服務(wù)映射原理示意圖;如圖3所示,后臺(tái)服務(wù)www. appl. com :8000被映射到域名vappl.company, com,后臺(tái)服務(wù) www. app2. com 被映射到 VPN (vpn. company, com)的 10000 端口。VPN在兩臺(tái)服務(wù)器的前面作為一個(gè)反向代理服務(wù)器。反向代理方式是指以代理服務(wù)器來(lái)接受Internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給Internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)服務(wù)器。對(duì)于安全代理轉(zhuǎn)發(fā)服務(wù)器發(fā)出的Web服務(wù)響應(yīng)至客戶端而言,圖4是該本發(fā)明關(guān)于VPN安全代理的Web服務(wù)映射方法的流程圖,如圖4所示,在步驟401中,將Web服務(wù)對(duì)應(yīng)Cookie的域設(shè)置成與父域名通配的形式,可以保證客戶端通過SSL VPN安全代理安全快捷請(qǐng)求Web服務(wù)。此后進(jìn)入步驟402,安全代理收到來(lái)自Web服務(wù)器的Cookie ;此后進(jìn)入步驟403,對(duì)該Cookie進(jìn)行編碼,把域(domain),路徑(path)和名稱(name)按照一定的格式封裝作為一個(gè)新的Cookie ;此后進(jìn)入步驟404,把Cookie的域設(shè)置成quicklink域名的父域名通配的形式;此后進(jìn)入步驟405,將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給客戶端,此后返回步驟402。對(duì)于安全代理轉(zhuǎn)發(fā)客戶端發(fā)出的Web服務(wù)請(qǐng)求至服務(wù)器而言,圖5是本發(fā)明關(guān)于VPN安全代理的Web服務(wù)映射方法的流程圖,繼步驟401將Web服務(wù)對(duì)應(yīng)Cookie的域設(shè)置成與父域名通配的形式之后,如圖5所示,在步驟501中,安全代理收到來(lái)自瀏覽器的Cookie ;此后進(jìn)入步驟502,安全代理對(duì)該Cookie中的域進(jìn)行解碼;此后進(jìn)入步 驟503,安全代理以解碼所得的域替換父域名通配形式的域;此后進(jìn)入步驟504,安全代理將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給Web服務(wù),此后返回步驟501 ;在SSL VPN安全代理“快速連接”的域名映射模式中,安全代理對(duì)收到的來(lái)自Web服務(wù)器的Cookie進(jìn)行封裝,并把它的域設(shè)置成“快速連接”的父域名通配的形式,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給客戶端;或者安全代理對(duì)收到的來(lái)自瀏覽器的Cookie中的域進(jìn)行解碼,并以解碼所得的域替換父域名通配形式的域,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給提供Web服務(wù)的Web服務(wù)器??梢员WC在SSL VPN安全代理“快速連接”模式和其他模式之間模式切換時(shí),或者可以保證在SSL VPN安全代理虛擬站點(diǎn)之間切換的時(shí),這些Cookie都能被瀏覽器發(fā)到VPN安全代理上,對(duì)封裝了域和路徑的Cookie進(jìn)行解碼,然后決定應(yīng)該向后臺(tái)服務(wù)發(fā)哪些Cookie,這樣,Web服務(wù)的Cookie不會(huì)因?yàn)榭缬蚨豢蛻舳嘶驗(yàn)g覽器丟掉。本發(fā)明的各方法實(shí)施方式均可以以軟件、硬件、固件等方式實(shí)現(xiàn)。不管本發(fā)明是以軟件、硬件、還是固件方式實(shí)現(xiàn),指令代碼都可以存儲(chǔ)在任何類型的計(jì)算機(jī)可訪問的存儲(chǔ)器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質(zhì)等等)。同樣,存儲(chǔ)器可以例如是可編程陣列邏輯(Programmable ArrayLogic,簡(jiǎn)稱“PAL”)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱“RAM”)、可編程只讀存儲(chǔ)器(Programmable Read Only Memory,簡(jiǎn)稱 “PROM”)、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱“ROM”)、電可擦除可編程只讀存儲(chǔ)器(Electrically Erasable Programmable ROM,簡(jiǎn)稱“EEPR0M”)、磁盤、光盤、數(shù)字通用光盤(Digital Versatile Disc,簡(jiǎn)稱“DVD”)等等。本發(fā)明第三實(shí)施方式涉及一種VPN中安全代理的Web服務(wù)映射系統(tǒng)。圖6是該VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖。該VPN中安全代理的Web服務(wù)映射系統(tǒng)VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口。 系統(tǒng)包括以下模塊第一接收模塊,用于在安全代理中接收來(lái)自客戶端的Web服務(wù)請(qǐng)求;映射模塊,用于根據(jù)所述第一接收模塊接收到的請(qǐng)求中的域名或者接收到請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù);第一轉(zhuǎn)發(fā)模塊,用于將所述第一接收模塊接收到的Web服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至通過所述映射模塊找到的所述Web服務(wù)的Web服務(wù)器;第二接收模塊,用于在安全代理中接收來(lái)自所述Web服務(wù)器返回的Web響應(yīng);改寫模塊,用于將所述第二接收模塊接收到的Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該Web服務(wù)對(duì)應(yīng)域名或者端口的鏈接;第二轉(zhuǎn)發(fā)模塊,用于將經(jīng)所述改寫模塊替換的Web響應(yīng)轉(zhuǎn)發(fā)給所述客戶端。第一實(shí)施方式是與本實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。本發(fā)明第四實(shí)施方式涉及一種VPN中安全代理的Web服務(wù)映射系統(tǒng)。對(duì)于安全代理轉(zhuǎn)發(fā)服務(wù)器發(fā)出的Web服務(wù)響應(yīng)至客戶端而言,圖7 (a)是該VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖;對(duì)于安全代理轉(zhuǎn)發(fā)客戶端發(fā)出的Web服務(wù)請(qǐng)求至服務(wù)器而言,圖7(b)是該VPN中安全代理的Web服務(wù)映射系統(tǒng)的結(jié)構(gòu)示意圖。
第四實(shí)施方式在第三實(shí)施方式的基礎(chǔ)上進(jìn)行了改進(jìn),主要改進(jìn)之處在于VPN是SSL VPN,客戶端是瀏覽器。Cookie接收模塊,用于在安全代理中接收來(lái)自Web服務(wù)器或者瀏覽器的Cookie ;編碼模塊,用于在安全代理中對(duì)所述Cookie接收模塊收到的來(lái)自Web服務(wù)器的 Cookie中的域,路徑和名稱封裝成一個(gè)新的Cookie ;第一封裝模塊,用于在所述編碼模塊進(jìn)行封裝的Cookie中加入父域名通配形式的域名;第一 Cookie轉(zhuǎn)發(fā)模塊,用于將所述第一封裝模塊修改的Cookie轉(zhuǎn)發(fā)給客戶端;解碼模塊,用于在安全代理中對(duì)所述Cookie接收模塊收到的來(lái)自瀏覽器的Cookie中的域名進(jìn)行解碼;第二封裝模塊,用于將所述解碼模塊解碼所得的域替換父域名通配形式的域;第二 Cookie轉(zhuǎn)發(fā)模塊,用于將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給提供Web服務(wù)的Web服務(wù)器。第二實(shí)施方式是與本實(shí)施方式相對(duì)應(yīng)的方法實(shí)施方式,本實(shí)施方式可與第二實(shí)施方式互相配合實(shí)施。第二實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第二實(shí)施方式中。需要說(shuō)明的是,本發(fā)明各設(shè)備實(shí)施方式中提到的各模塊都是邏輯模塊,在物理上,一個(gè)邏輯模塊可以是一個(gè)物理模塊,也可以是一個(gè)物理模塊的一部分,還可以以多個(gè)物理模塊的組合實(shí)現(xiàn),這些邏輯模塊本身的物理實(shí)現(xiàn)方式并不是最重要的,這些邏輯模塊所實(shí)現(xiàn)的功能的組合是才解決本發(fā)明所提出的技術(shù)問題的關(guān)鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各設(shè)備實(shí)施方式并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的模塊弓I入,這并不表明上述設(shè)備實(shí)施方式并不存在其它的模塊。雖然通過參照本發(fā)明的某些優(yōu)選實(shí)施方式,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種VPN中安全代理的Web服務(wù)映射方法,其特征在于,VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與安全代理的域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口 ; 所述方法包括以下步驟 當(dāng)安全代理收到來(lái)自客戶端的Web服務(wù)請(qǐng)求時(shí),根據(jù)該請(qǐng)求中的域名或者接收到該請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù),并將該請(qǐng)求轉(zhuǎn)發(fā)給提供該Web服務(wù)的Web服務(wù)器; 當(dāng)安全代理收到來(lái)自Web服務(wù)器的Web響應(yīng)時(shí),根據(jù)所述映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該Web服務(wù)對(duì)應(yīng)安全代理的域名或者端口的鏈接,再將經(jīng)替換的Web響應(yīng)轉(zhuǎn)發(fā)給客戶端。
2.根據(jù)權(quán)利要求1所述的VPN中安全代理的Web服務(wù)映射方法,其特征在于,所述VPN是SSL VPN,客戶端是瀏覽器。
3.根據(jù)權(quán)利要求2所述的VPN中安全代理的Web服務(wù)映射方法,其特征在于,不同的Web服務(wù)對(duì)應(yīng)不同的域名,安全代理中用于SSL VPN的證書為wild-card證書,VPN中的安全代理虛擬站點(diǎn)域名和與Web服務(wù)有映射關(guān)系的安全代理的域名在同一父域名下。
4.根據(jù)權(quán)利要求3所述的VPN中安全代理的Web服務(wù)映射方法,其特征在于,還包括以下步驟 所述安全代理收到來(lái)自Web服務(wù)器的Cookie時(shí),把該Cookie的域,路徑和名稱封裝成一個(gè)新的Cookie,新的Cookie的域設(shè)置成父域名通配的形式,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給客戶端; 所述安全代理收到來(lái)自瀏覽器的Cookie時(shí),對(duì)該Cookie中的域進(jìn)行解碼,并以解碼所得的域替換父域名通配形式的域,再將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給提供Web服務(wù)的Web服務(wù)器。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的VPN中安全代理的Web服務(wù)映射方法,其特征在于,所述替換Web響應(yīng)為對(duì)HTTP和HTTPS協(xié)議的URL進(jìn)行替換。
6.一種VPN中安全代理的Web服務(wù)映射系統(tǒng),其特征在于,VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與安全代理的域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口 ; 所述系統(tǒng)包括以下模塊 第一接收模塊,用于在安全代理中接收來(lái)自客戶端的Web服務(wù)請(qǐng)求; 映射模塊,用于根據(jù)所述第一接收模塊接收到的請(qǐng)求中的域名或者接收到該請(qǐng)求的端口從所述映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù); 第一轉(zhuǎn)發(fā)模塊,用于將所述第一接收模塊接收到的Web服務(wù)請(qǐng)求轉(zhuǎn)發(fā)至通過所述映射模塊找到的所述Web服務(wù)的Web服務(wù)器; 第二接收模塊,用于在安全代理中接收來(lái)自所述Web服務(wù)器返回的Web響應(yīng); 改寫模塊,用于將所述第二接收模塊接收到的Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接; 第二轉(zhuǎn)發(fā)模塊,用于將經(jīng)所述改寫模塊替換的Web響應(yīng)轉(zhuǎn)發(fā)給所述客戶端。
7.根據(jù)權(quán)利要求6所述的VPN中安全代理的Web服務(wù)映射系統(tǒng),其特征在于,所述VPN是SSL VPN,客戶端是瀏覽器。
8.根據(jù)權(quán)利要求7所述的VPN中安全代理的Web服務(wù)映射系統(tǒng),其特征在于,不同的Web服務(wù)對(duì)應(yīng)不同的域名,安全代理中用于SSL VPN的證書為wild-card證書,VPN中的安全代理虛擬站點(diǎn)域名和與Web服務(wù)有映射關(guān)系的安全代理的域名在同一父域名下。
9.根據(jù)權(quán)利要求8所述的VPN中安全代理的Web服務(wù)映射系統(tǒng),其特征在于,還包括以下模塊 Cookie接收模塊,用于在安全代理中接收來(lái)自Web服務(wù)器或者瀏覽器的Cookie ; 編碼模塊,用于在安全代理中對(duì)所述Cookie接收模塊收到的來(lái)自Web服務(wù)器的Cookie中的域,路徑和名稱封裝成一個(gè)新的Cookie ; 第一封裝模塊,用于在所述編碼模塊進(jìn)行封裝的Cookie中加入父域名通配形式的域名; 第一 Cookie轉(zhuǎn)發(fā)模塊,用于將所述第一封裝模塊修改的Cookie轉(zhuǎn)發(fā)給客戶端; 解碼模塊,用于在安全代理中對(duì)所述Cookie接收模塊收到的來(lái)自瀏覽器的Cookie中的域進(jìn)行解碼; 第二封裝模塊,用于將所述解碼模塊解碼所得的域替換父域名通配形式的域; 第二 Cookie轉(zhuǎn)發(fā)模塊,用于將經(jīng)修改的Cookie轉(zhuǎn)發(fā)給提供Web服務(wù)的Web服務(wù)器。
10.根據(jù)權(quán)利要求6至9任一項(xiàng)所述的VPN中安全代理的Web服務(wù)映射系統(tǒng),其特征在于,所述替換Web響應(yīng)為對(duì)HTTP和HTTPS協(xié)議的URL進(jìn)行替換。
全文摘要
本發(fā)明涉及通信領(lǐng)域,公開了一種VPN中安全代理的Web服務(wù)映射方法及其系統(tǒng)。簡(jiǎn)化了Web響應(yīng)解析和改寫過程,其實(shí)現(xiàn)簡(jiǎn)單且穩(wěn)定性和效率較高。本發(fā)明中,VPN中的安全代理預(yù)先設(shè)置有提供Web服務(wù)與安全代理的域名或端口的映射關(guān)系,其中不同的Web服務(wù)對(duì)應(yīng)不同的域名或端口;當(dāng)安全代理收到來(lái)自客戶端的Web服務(wù)請(qǐng)求時(shí),根據(jù)該請(qǐng)求中的域名或者接收到請(qǐng)求的端口從映射關(guān)系中找到對(duì)應(yīng)的Web服務(wù),并將該請(qǐng)求轉(zhuǎn)發(fā)給提供該Web服務(wù)的Web服務(wù)器;當(dāng)安全代理收到來(lái)自Web服務(wù)器的Web響應(yīng)時(shí),根據(jù)映射關(guān)系,將Web響應(yīng)中指向該Web服務(wù)的鏈接替換成指向該安全代理的對(duì)應(yīng)域名或者端口的鏈接,再將經(jīng)替換的Web響應(yīng)轉(zhuǎn)發(fā)給客戶端。
文檔編號(hào)H04L29/12GK103067417SQ20111031905
公開日2013年4月24日 申請(qǐng)日期2011年10月19日 優(yōu)先權(quán)日2011年10月19日
發(fā)明者段木全, 劉升, 鄭鳳順, 胡延銳 申請(qǐng)人:華耀(中國(guó))科技有限公司