本申請涉及通信技術(shù)領(lǐng)域,特別涉及重定向的方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)通信中,HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,支持安全套接層的超文本傳輸協(xié)議)是較HTTP(Hyper Text Transfer Protocol,超文本傳輸協(xié)議)更為安全的一種傳輸協(xié)議。它們有完全不同的連接方式,使用的端口也不相同,當(dāng)用戶使用HTTP訪問基于HTTPS的服務(wù)器時(shí),就需要將該HTTP訪問重定向?yàn)镠TTPS的訪問。
現(xiàn)有技術(shù)中,當(dāng)用戶使用客戶端訪問某網(wǎng)站的服務(wù)器集群時(shí),訪問請求會(huì)經(jīng)過服務(wù)器側(cè)的負(fù)載均衡設(shè)備定向至被訪問網(wǎng)站的一臺專用服務(wù)器,當(dāng)專用服務(wù)器判定需要將HTTP訪問重定向?yàn)镠TTPS訪問時(shí),該專用服務(wù)器通過負(fù)載均衡設(shè)備向客戶端發(fā)送重定向報(bào)文??蛻舳烁鶕?jù)重定向報(bào)文重新發(fā)送HTTPS訪問,HTTPS訪問再次經(jīng)過負(fù)載均衡設(shè)備定向至專用服務(wù)器,專用服務(wù)器通過負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)該HTTPS訪問至服務(wù)器集群??梢?,在現(xiàn)有技術(shù)中,HTTP訪問重定向?yàn)镠TTPS訪問需要多次經(jīng)過負(fù)載均衡設(shè)備的轉(zhuǎn)發(fā),且需要從服務(wù)器集群中分配一臺專用服務(wù)器,其資源占用較多,效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供重定向的方法和裝置,用于解決現(xiàn)有技術(shù)資源占用較多,效率較低的問題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種重定向的方法,所述方法應(yīng)用于與服務(wù)器集群相連的負(fù)載均衡設(shè)備,所述方法包括:
從客戶端接收訪問請求;
如果所述訪問請求命中所述負(fù)載均衡設(shè)備的重定向策略,則向所述客戶端發(fā)送重定向后的統(tǒng)一資源定位符URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求;
從客戶端接收所述重新發(fā)送的HTTPS請求后,向所述服務(wù)器集群轉(zhuǎn)發(fā)所述重新發(fā)送的HTTPS請求。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種重定向的裝置,所述裝置應(yīng)用于與服務(wù)器集群相連的負(fù)載均衡設(shè)備,所述裝置包括:
接收單元,用于從客戶端接收訪問請求;
發(fā)送單元,用于在所述訪問請求命中所述負(fù)載均衡設(shè)備的重定向策略時(shí),向所述客戶端發(fā)送重定向后的統(tǒng)一資源定位符URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求;還用于從客戶端接收到所述重新發(fā)送的HTTPS請求后,向所述服務(wù)器集群轉(zhuǎn)發(fā)所述重新發(fā)送的HTTPS請求。
由以上技術(shù)方案可見,本發(fā)明實(shí)施例通過使用負(fù)載均衡服務(wù)器向所述客戶端發(fā)送重定向后的URL(Uniform Resource Locator,統(tǒng)一資源定位符),以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求,實(shí)現(xiàn)了在負(fù)載均衡服務(wù)器側(cè)對HTTP請求的重定向。避免了對服務(wù)器集群的依賴,同時(shí)也避免了現(xiàn)有技術(shù)在重定向時(shí)需要負(fù)載均衡設(shè)備的多次轉(zhuǎn)發(fā)的情況,其資源占用較少,效率較高。
附圖說明
圖1為本發(fā)明實(shí)施例重定向的方法的一個(gè)應(yīng)用場景示意圖;
圖2為本發(fā)明重定向的方法的一個(gè)實(shí)施例流程圖;
圖3為本發(fā)明重定向的方法的另一個(gè)實(shí)施例流程圖;
圖4為本發(fā)明重定向的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
圖5為本發(fā)明重定向的裝置的一個(gè)實(shí)施例框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好的理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中的技術(shù)方案作進(jìn)一步詳細(xì)的說明。
圖1為本發(fā)明實(shí)施例重定向的方法的一個(gè)應(yīng)用場景示意圖,所示應(yīng)用場景包含一個(gè)四臺服務(wù)器組成的服務(wù)器集群,一臺負(fù)載均衡設(shè)備,以及一臺客戶端,所示客戶端通過負(fù)載均衡設(shè)備與服務(wù)器集群相連,可以向服務(wù)器集群發(fā)送HTTP請求以及HTTPS請求。
以將圖1所示場景中客戶端發(fā)送的HTTP請求重定向?yàn)镠TTPS請求為例,現(xiàn)有技術(shù)中,該HTTP請求會(huì)經(jīng)過所示負(fù)載均衡設(shè)備定向至所示服務(wù)器集群的一臺專用服務(wù)器,該專用服務(wù)器通過負(fù)載均衡設(shè)備向客戶端發(fā)送重定向報(bào)文。客戶端根據(jù)重定向報(bào)文重新發(fā)送HTTPS訪問,HTTPS訪問再次經(jīng)過負(fù)載均衡設(shè)備定向至專用服務(wù)器,專用服務(wù)器判定無需重定向后再通過負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)該HTTPS訪問至服務(wù)器集群??梢?,在現(xiàn)有技術(shù)中,將HTTP訪問重定向?yàn)镠TTPS訪問需要多次經(jīng)過負(fù)載均衡設(shè)備的轉(zhuǎn)發(fā),且需要從服務(wù)器集群中分配一臺專用服務(wù)器,其資源占用較多,效率較低。
下面結(jié)合圖1示出的應(yīng)用場景,對本發(fā)明實(shí)施例進(jìn)行詳細(xì)說明。
參見圖2,圖2為本發(fā)明重定向的方法的一個(gè)實(shí)施例流程圖,該實(shí)施例應(yīng)用于與服務(wù)器集群相連的負(fù)載均衡設(shè)備,包括以下步驟:
步驟201:從客戶端接收訪問請求。
在一個(gè)可選的例子中,可以在客戶端接收訪問請求后,便讀取該訪問請求URL的首部以及該訪問的目的端口和域名,為后續(xù)的重定向的判定做準(zhǔn)備。
步驟202:如果所述訪問請求命中所述負(fù)載均衡設(shè)備的重定向策略,則向所述客戶端發(fā)送重定向后的URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求。
在一個(gè)可選的例子中,如果該訪問請求未命中所示負(fù)載均衡設(shè)備的重定向策略,則向所示服務(wù)器集群轉(zhuǎn)發(fā)該訪問請求。
在另一個(gè)可選的例子中,如果該訪問請求命中所示負(fù)載均衡設(shè)備的重定向策略,則向所示客戶端發(fā)送永久性轉(zhuǎn)移標(biāo)識,該永久性轉(zhuǎn)移標(biāo)識用于標(biāo)識該訪問請求的訪問內(nèi)容已永久性轉(zhuǎn)移到另一地址。
在另一個(gè)可選的例子中,上述命中所述負(fù)載均衡設(shè)備的重定向策略,具體可以為:
該訪問請求為HTTP請求且命中所示負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的目的端口;
該訪問請求為HTTP請求且命中所示負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的域名。
在另一個(gè)可選的例子中,向所示客戶端發(fā)送重定向后的統(tǒng)一資源定位符URL的步驟可以分為:根據(jù)該HTTP請求,構(gòu)造重定向后的URL;向所示客戶端發(fā)送包含重定向后的URL的重定向報(bào)文。其中,構(gòu)造重定向后的URL時(shí),可以將HTTP請求的URL信息提取出來并將該URL信息的首部“http://”替換為“https://”。
步驟203:從客戶端接收所述重新發(fā)送的HTTPS請求后,向所述服務(wù)器集群轉(zhuǎn)發(fā)所述重新發(fā)送的HTTPS請求。
在一個(gè)可選的例子中,可以根據(jù)服務(wù)器集群中各服務(wù)器的負(fù)載情況將該HTTPS請求發(fā)送至該服務(wù)器集群中當(dāng)前負(fù)載最小的服務(wù)器。
由以上技術(shù)方案可見,本發(fā)明實(shí)施例通過使用負(fù)載均衡服務(wù)器向所述客戶端發(fā)送重定向后的URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求,實(shí)現(xiàn)了在負(fù)載均衡服務(wù)器側(cè)對HTTP請求的重定向。避免了對服務(wù)器集群的依賴,同時(shí)也避免了現(xiàn)有技術(shù)在重定向時(shí)需要負(fù)載均衡設(shè)備的多次轉(zhuǎn)發(fā)的情況,其資源占用較少,效率較高。
參見圖3,圖3為本發(fā)明重定向的方法的另一個(gè)實(shí)施例流程圖。該實(shí)施例應(yīng)用于與服務(wù)器集群相連的負(fù)載均衡設(shè)備,對HTTP請求重定向?yàn)镠TTPS請求的過程進(jìn)行了詳細(xì)描述,包括以下步驟:
步驟301:從客戶端接收訪問請求。
在一個(gè)可選的例子中,可以在客戶端接收訪問請求后,便讀取該訪問請求URL的首部以及該訪問的目的端口和域名,為后續(xù)的重定向的判定做準(zhǔn)備。
步驟302:判斷上述訪問請求是否命中負(fù)載均衡設(shè)備的重定向策略,如果是則執(zhí)行步驟304,如果否則執(zhí)行步驟303。
在另一個(gè)可選的例子中,上述命中所述負(fù)載均衡設(shè)備的重定向策略,具體可以為:該訪問請求為HTTP請求且命中所示負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的目的端口;該訪問請求為HTTP請求且命中所示負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的域名。
步驟303:向所示服務(wù)器集群轉(zhuǎn)發(fā)該訪問請求。
步驟304:根據(jù)該HTTP請求,構(gòu)造重定向后的URL。
在一個(gè)可選的例子中,負(fù)載均衡設(shè)備可以將HTTP請求的URL信息提取出來并將該URL信息的首部“http://”替換為“https://”,以構(gòu)造重定向后的URL。
步驟305:向所示客戶端發(fā)送重定向報(bào)文。
本步驟中,該重定向報(bào)文包含永久性轉(zhuǎn)移標(biāo)識以及上述重定向后URL。該永久性轉(zhuǎn)移標(biāo)識用于標(biāo)識該訪問請求的訪問內(nèi)容已永久性轉(zhuǎn)移到另一地址。
本步驟中,客戶端在接收包含重定向后的URL的重定向報(bào)文后,則按照該重定向后的URL重新發(fā)送HTTPS請求。
步驟306:從客戶端接收上述重新發(fā)送的HTTPS請求后,向所示服務(wù)器集群轉(zhuǎn)發(fā)該重新發(fā)送的HTTPS請求。
在一個(gè)可選的例子中,可以根據(jù)服務(wù)器集群中各服務(wù)器的負(fù)載情況將該HTTPS請求發(fā)送至該服務(wù)器集群中當(dāng)前負(fù)載最小的服務(wù)器。
由以上技術(shù)方案可見,本發(fā)明實(shí)施例通過使用負(fù)載均衡服務(wù)器向所述客戶端發(fā)送重定向后的URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求,實(shí)現(xiàn)了在負(fù)載均衡服務(wù)器側(cè)對HTTP請求的重定向。避免了對服務(wù)器集群的依賴,同時(shí)也避免了現(xiàn)有技術(shù)在重定向時(shí)需要負(fù)載均衡設(shè)備的多次轉(zhuǎn)發(fā)的情況,其資源占用較少,效率較高。
下面通過一個(gè)具體的應(yīng)用實(shí)例對本發(fā)明實(shí)施例進(jìn)行說明,該應(yīng)用實(shí)例結(jié)合圖1示出的應(yīng)用場景進(jìn)行描述,其中,假設(shè)所示客戶端向服務(wù)器集群發(fā)送的HTTP請求為:http://www.xxx.com/song/490468。該請求的目的端口為443。在所示負(fù)載均衡服務(wù)器中,已限定端口443為專用于HTTPS請求的端口。該訪問的重定向過程如下:
從客戶端接收上述HTTP請求;
根據(jù)該HTTP請求的目的端口為443,判斷上述訪問請求命中該負(fù)載均衡設(shè)備的重定向策略;
提取該HTTP請求的URL信息并將該URL信息的首部“http://”替換為“https://”,獲得的重定向后的URL為:https://www.xxx.com/song/490468;
向所示客戶端發(fā)送301重定向報(bào)文,該重定向報(bào)文包含永久性轉(zhuǎn)移標(biāo)識“301”以及上述重定向后URL;
從客戶端接收其重新發(fā)送的HTTPS請求;
根據(jù)服務(wù)器集群中各服務(wù)器的負(fù)載情況將該HTTPS請求發(fā)送至該服務(wù)器集群中當(dāng)前負(fù)載最小的服務(wù)器。
與前述重定向的方法的實(shí)施例相對應(yīng),本申請還提供了重定向的裝置的實(shí)施例。
本申請重定向的裝置的實(shí)施例可以應(yīng)用在與服務(wù)器集群相連的負(fù)載均衡設(shè)備上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請重定向的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該設(shè)備的實(shí)際功能,還可以包括其他硬件,對此不再贅述。
請參考圖5,為本發(fā)明重定向的裝置的一個(gè)實(shí)施例框圖,所述裝置應(yīng)用于與服務(wù)器集群相連的負(fù)載均衡設(shè)備,所述裝置包括:接收單元510,發(fā)送單元520。
其中,接收單元510,用于從客戶端接收訪問請求;
發(fā)送單元520,用于在所述訪問請求命中所述負(fù)載均衡設(shè)備的重定向策略時(shí),向所述客戶端發(fā)送重定向后的統(tǒng)一資源定位符URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求;還用于從客戶端接收到所述重新發(fā)送的HTTPS請求后,向所述服務(wù)器集群轉(zhuǎn)發(fā)所述重新發(fā)送的HTTPS請求。
由以上技術(shù)方案可見,本發(fā)明實(shí)施例通過使用負(fù)載均衡服務(wù)器向所述客戶端發(fā)送重定向后的URL,以使所述客戶端按照所述重定向后的URL重新發(fā)送HTTPS請求,實(shí)現(xiàn)了在負(fù)載均衡服務(wù)器側(cè)對HTTP請求的重定向。避免了對服務(wù)器集群的依賴,同時(shí)也避免了現(xiàn)有技術(shù)在重定向時(shí)需要負(fù)載均衡設(shè)備的多次轉(zhuǎn)發(fā)的情況,其資源占用較少,效率較高。
在一個(gè)可選的例子中,所述發(fā)送單元520,還用于:
在所述訪問請求未命中所述負(fù)載均衡設(shè)備的重定向策略時(shí),向所述服務(wù)器集群轉(zhuǎn)發(fā)所述訪問請求。
在另一個(gè)可選的例子中,所述發(fā)送單元520,還用于:
在所述訪問請求命中所述負(fù)載均衡設(shè)備的重定向策略時(shí),向所述客戶端發(fā)送永久性轉(zhuǎn)移標(biāo)識,所述永久性轉(zhuǎn)移標(biāo)識用于標(biāo)識所述訪問請求的訪問內(nèi)容已永久性轉(zhuǎn)移到另一地址。
在另一個(gè)可選的例子中,所述重定向策略,包括:
所述訪問請求為HTTP請求且命中所述負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的目的端口,則所述訪問請求需要重定向?yàn)镠TTPS請求;
所述訪問請求為HTTP請求且命中所述負(fù)載均衡設(shè)備所限定的專用于HTTPS請求的域名,則所述訪問請求需要重定向?yàn)镠TTPS請求。
在另一個(gè)可選的例子中,所述發(fā)送單元520包括(圖5中未示出):URL構(gòu)造子單元,重定向報(bào)文發(fā)送子單元。
URL構(gòu)造子單元,用于根據(jù)所述HTTP請求,構(gòu)造重定向后的URL;
重定向報(bào)文發(fā)送子單元,向所述客戶端發(fā)送重定向報(bào)文,所述重定向報(bào)文包含所述重定向后的URL。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。