專利名稱::一種基于sslvpn的鏈接改寫方法和設備的制作方法
技術領域:
:本發明涉及網絡
技術領域:
,尤其涉及一種基于SSLVPN的鏈接改寫方法和設備。
背景技術:
:SSLVPN是一種采用SSL(SecuritySocketLayer,安全套接層)加密連接實現遠程訪問的VPN(VirtualPrivateNetwork,虛擬專用網絡)技術。SSLVPN的功能如圖1所示。其中,遠程主機與SSLVPN網關之間建立SSL連接,以加密方式在Internet上傳送報文;而SSLVPN網關終結了SSL連接,與內網的服務器之間建立TCP(TransmissionControlProtocol,傳輸控制協議)連接,以明文方式傳送遠程主機發來的請求,并將服務器的應答通過SSL連接發給遠程主機。頁面中URL鏈接類型包括(1)完全鏈接。完全鏈接是指鏈接中包含協議、主機名和路徑的鏈接,例如<ahref="http;〃www.h3c.com/tech/index.htm">該i吾句表示傳輸協i義為http,主才幾為www.h3c.com,路徑和頁面為/tech/index.htm。通過該完全鏈接包含了所要訪問的主機地址,點擊這樣的鏈接,瀏覽器將會與指定的主才幾www.h3c.com建立新的連接,并向主4幾請求相應的頁面。(2)不完全的絕對鏈接。不完全的絕對鏈接是指鏈接中不包含傳輸協議和主機地址,只包含相對于本網站根目錄的絕對路徑。例如<ahref=7portal/Home/Login">注路徑開頭的"/"表示根目錄。不完全的絕對鏈接中沒有指定傳輸協議,瀏覽器就默認為使用當前網頁的傳輸協議。如果當前網頁使用http協議,則訪問該鏈接還使用http協議;如果當前網頁使用https協議,則訪問該鏈接還使用https協議。另外,不完全的絕對鏈接也沒有指定目的主機,瀏覽器就默認為使用當前頁面的源主機。對此鏈接的訪問,將向當前頁面的源主機發起連接。鏈接中只說明了所要訪問的目錄和頁面,為"/portal/Home/Login"。(3)不完全的相對鏈接。不完全的相對鏈接與上述不完全的絕對鏈接類似,鏈接中不包含傳輸協議和主機地址,區別在于所包含的路徑不是網站的根目錄,而是相對于當前網頁的路徑。例如<ahref="../Login">注路徑開頭的".."表示當前頁面的父目錄。此例中,如果當前頁面的路徑為"/portal/Home/index.htm",則",./Login"表示的路徑就是"/portal/Home/Login"。當所訪問的內網服務器是Web服務器時,SSLVPN可以釆用Web代理的方式實現遠程主枳對內網Web站點的訪問。其過程如圖2所示。其中,圖中的方框表示返回的報文;WS1表示Webserverl的IP地址;在SSLVPN網關上,假設將所有的連接都映射到"/svpn/"目錄下。如圖2所示,以Web代理方式訪問內網Web站點的過程如下步驟s201、SSLVPN網關將每個可以訪問的內網web資源地址映射為一條SSLVPN網關上的虛擬路徑。由SSLVPN網關維護著類似如下形式的映射表/svpn/webl/hhttp:〃www.abc,com/xyz//svpn/web2/"http:〃www.efg.com/xyz/uvw//svpn/web3/"http:〃www.abc.com/hij/rst/該表以下簡稱為"虛實路徑映射表"。步驟s202、用戶通過Web瀏覽器,使用https協議登錄SSLVPN網關,獲得一張可以訪問的web站點的列表。列表中的鏈接都指向該資源所對應的SSLVPN網關虛擬路徑。例如<ahref=7svpn/webl/"><ahre^7svpn/web2/"><ahre,7svpn/web3/">步驟s203、用戶點擊這些鏈接,遠程主機將與SSLVPN網關建立SSL鏈接,并發出一個指向虛擬路徑的Http請求,例如GET/svpn/webl/HTTP/1.1Host:X.X.X.X其中"X.X.X.X,,是SSLVPN網關的地址或域名,GET后面跟的是Web頁面所在的路徑。"HTTP/1.l"是協議的版本。Http請求中的其它字段與SSLVPN網關的工作過程無關,在此不進行介紹。遠程主機只能發請求給SSLVPN網關,因為只有該設備有公網地址,內網服務器沒有公網地址,遠程主機無法直接訪問。步驟s204、SSLVPN網關終結SSL連接,轉換Http請求,SSLVPN網關根據虛實路徑映射表,可找到虛擬路徑所對應的真實URL,修改http請求中相關的字段,再進行轉發。例如將步驟s203中的請求修改為GET/xyz/HTTP/1.1Host:www.abc.com轉換過的請求將發往服務器"www.abc.com",請求"/xyz/"目錄下的頁面。步驟s205、WebServer1向SSLVPN網關返回應答的頁面。頁面中包含著如下形式的鏈接(html頁面中表示鏈接的形式有很多,以下僅以href字段為例)a)<ahref="http:〃www.abc.com/xyz/123/a.htm">b)<ahref="http:〃www.efg.com/xyz/uvw/456/b.Mm">c)<ahref="http:〃www.abc.com/hij/rst/">d)<ahref=7abc/789.htm">e)<ahref="/abc/efg/lmn.htm">f)<ahref="../uvw/opq.htm">鏈接a)、b)和c)為"完全鏈接,,,指向的都是內網服務器地址,這樣的鏈接在外網無法訪問。鏈接d)和e)為"不完全的絕對鏈接",指向的是原服務器上的一個固定目錄。這些目錄不是SSLVPN網關上的虛擬目錄,如果用戶直接向網關請求這樣路徑,SSLVPN網關無法找到對應的內網資源,因而不能正確處理。鏈接f)為"不完全的相對鏈接",不用改寫,該鏈接指向的是相對于當前網頁的相對路徑。如果當前路徑是正確的SSLVPN網關上的虛擬路徑,則該路徑指向的仍然是一條SSLVPN網關上的虛擬;洛徑。步驟s206、才艮據映射表,SSLVPN網關對內網返回的頁面進行URL改寫,使得原來的http鏈接變成https鏈接,使得原來指向內網服務器的鏈接都映射為SSLVPN網關上的路徑。步驟s205中所述頁面的鏈接應該凈皮改寫成以下形式a)<ahref^7svpn/webl/123/a.htm">b)<ahref^7svpn/web2/456/b.htm">c)<ahref="/svpn/web3/">d)<ahref=7svpn/webl/abc〃89.htm">e)<ahref=7svpn/webl/abc/efg/lmn.htm">f)<ahref../uvw/opq.htm">鏈接a)、b)、c)根據"虛實路徑映射表"將鏈接對應的目錄替換為SSLVPN網關上的虛擬路徑。這里將原來的"完全鏈接"改寫"不完全鏈接",使得該鏈接繼承了當前頁面的傳輸協議類型,從而實現了由http向https的轉變。鏈接d)、e)則是根據內網服務器的地址,確定其對應的虛擬路徑根目錄為"/svpn/webl/"而進行的改寫。鏈接f)沒有修改。步驟s207、SSLVPN網關將改寫后的頁面返回給遠程主機。在上述實現過程中,步驟s206的URL改寫是關鍵的。SSLVPN網關必須要將內網返回頁面中的URL鏈才妄進行改寫,l吏其指向SSLVPN網關,并且將傳輸協議由http變為https。否則在外網的用戶無法通過SSLVPN網關獲取內網的頁面。實現URL改寫的方法可以有多種。不同的改寫方式,將會對系統的處理難度和復雜度帶來不同的影響。現有技術中提出了一種方法,該將原URL轉化為某種格式的路徑,該路徑包含了原鏈接的全部信息,包括原傳輸協議、原服務器地址、原服務器的端口號、要訪問的目錄和網頁,使得網關通過分析路徑后,可以確定要訪問的目的網頁;同時由于不同的網站用不同的i各徑來表示,保證了cookie的正常使用。具體的轉化方法為(1)對于完全鏈接,將傳輸協議、端口號、內網服務器地址等一起轉化為路徑,在前面再加上網關地址作為鏈接的主機地址、加上https作為傳輸協議。例如對于完全鏈4姿http:〃www.h3c.com/pathl/indexl.htm,轉^匕后的結果為https:〃www.gateway.com/http/0/www.h3c.com/pathl/indexl.htm,其中www.gateway.com為網關i也i止,0表示,默"i人端口號。(2)對于不完全絕對鏈接,將傳輸協議、端口號、內網服務器地址等一起轉化為路徑,不用再加上網關的地址。例如對于不完全絕對鏈接/pathl/index.htm,轉化后的結果為/http/0/www.h3c.com/pathl/index.htm,其中www.h3c.com為當前網頁源自的主機。使用該方法時存在的問題在于在改寫的時候需要對原鏈接進行分析,剝離出該鏈接中的協議類型、端口號以及主機名,然后改寫為特定的形式,影響處理效率;且轉換后的鏈接較長,訪問該地址時始終攜帶此長路徑,降低了傳輸效率。
發明內容本發明提供一種基于SSLVPN的鏈接改寫方法和設備,以實現對從內網服務器接收到的向遠程主機返回的頁面中的鏈接進行改寫。為達到上述目的,本發明提供一種基于SSLVPN的鏈接改寫方法,包括以下步驟SSLVPN網關接收到內網服務器向遠程主機發送的鏈接;所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,資源標識對所述鏈接進行改寫;所述SSLVPN網關將所述改寫后的鏈接向所述遠程主才幾發送。其中,所述SSLVPN網關接收到內網服務器向遠程主機發送的鏈接的步驟前,還包括所述SSLVPN網關為與其連接的內網服務器中的資源地址分配資源標識,建立內網服務器中的資源地址與以所述資源標識表示的網關虛擬路徑的對應關系。其中,所述資源標識至少包括隨才幾數部分和資源索引部分。其中,所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,根據本地存儲的資源標識對所述鏈接進行改寫的步驟具體為所述鏈接為不完全絕對鏈接或完全鏈接時,所述SSLVPN網關根據所述對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所述資源標識表示的網關虛擬路徑。其中,所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,根據本地存儲的資源標識對所述鏈接進行改寫的步驟具體為所述鏈接為完全鏈接時,所述SSLVPN網關處理所述完全鏈接得到重定向參數,將所述鏈接替換為包括所述重定向參數的重定向鏈接頁面。其中,所述SSLVPN網關處理所述完全鏈接得到重定向參數的步驟具體為所述SSLVPN網關對所述完全鏈接進行編碼或加密,得到重定向參數。其中,所述鏈接為完全鏈接時,所述SSLVPN網關將所述改寫后的鏈接向所述遠程主機發送后還包括步驟所述SSLVPN網關接收遠程主機發送的訪問所述重定向鏈接頁面的請求;所述SSLVPN網關根據所述重定向鏈接頁面以及所述本地配置的資源標識本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,獲得網關虛擬路徑;所述SSLVPN網關向所述遠程主機發送包括所述網關虛擬路徑的重定向報文。其中,所述SSLVPN網關根據所述重定向鏈接頁面以及所述本地配置的資源標識本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,獲得網關虛擬路徑的步驟具體為所述SSLVPN網關根據所述重定向鏈接頁面獲取完全鏈接;所述SSLVPN網關將所述完全鏈接中的內網服務器中的資源地址替換為以所述本地配置的資源標識表示的網關虛擬路徑。本發明還提供一種SSLVPN網關設備,用于對從內網服務器接收到的向遠程主機返回的頁面中的鏈接進行改寫,包括內網服務器接口,用于將從內網服務器接收到的向遠程主機返回的頁面中的鏈接發送到鏈接改寫單元;鏈接改寫單元,用于根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系根據本地配置的資源標識,對從所述內網服務器接口接收到的內網服務器向遠程主機返回的頁面中的鏈接進行改寫,并將改寫后的鏈接向遠程主機接口發送;遠程主機接口,用于將所述鏈接改寫單元改寫后的鏈接向所述遠程主機發送。其中,還包括資源配置單元,用于建立內網服務器中的資源地址與以資源標識表示的網關虛擬路徑的對應關系,以供所述鏈接改寫單元進行鏈接改寫。其中,所述鏈接改寫單元進一步包括判斷子單元,用于對從所述內網服務器接口接收到的內網服務器向遠程主機返回的頁面中的鏈接類型進行判斷,對于不完全絕對鏈接,發送到不完全絕對鏈接改寫子單元;對于完全鏈接,發送到完全鏈接改寫子單元處理;不完全絕對鏈接改寫子單元,用于接收到所迷判斷子單元發送的不完全絕對鏈接時,根據所述資源配置單元提供的對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所述資源標識表示的網關虛擬路徑;完全鏈接改寫子單元,用于接收到所述判斷子單元發送的完全鏈接時,根據所述資源配置單元提供的對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所述資源標識表示的網關虛擬路徑;或處理所述完全鏈接得到重定向參數,將所述鏈接替換為包括所述重定向M的重定向鏈接頁面。其中,還包括重定向報文生成單元,用于接收到用戶訪問改寫后的完全鏈接中的重定向鏈接頁面的請求時,根據所述重定向鏈接頁面獲得網關虛擬路徑;并向所述遠程主機發送包括所述網關虛擬路徑的重定向報文。與現有技術相比,本發明具有以下優點在網關虛擬路徑中采用資源ID替換對應的真實網絡路徑,從而使得網關可以直接從請求中獲取資源ID,根據ID提取表項索引,加快了表項的查找速度;同時,采用包含資源ID的虛擬路徑可以有效縮短鏈接長度,并隱藏了真實的網址;另夕卜,對"完全鏈接,,所對應表項的查找僅在用戶訪問時才4丸行,避免了在頁面改寫時浪費時間。圖1是現有技術中SSLVPN的功能示意圖;圖2是現有技術中Web代理與URL改寫的示意圖;圖3是本發明中基于SSLVPN的鏈接改寫方法的流程圖;圖4是本發明的應用場景中基于SSLVPN的鏈接改寫方法的流程圖;圖5是本發明中一種SSLVPN網關設備的結構示意圖。具體實施方式本發明的核心思想在于,在SSLVPN網關設備上為內網服務器中的資源地址分配資源標識,建立內網服務器中的資源地址與以該資源標識表示的網關虛擬路徑的對應關系。在對鏈接進行改寫時,釆用資源標識替換對應的真實網絡路徑,以縮短鏈接長度、加快表項查找速度。另外,對完全鏈接可以在進行編碼后直接發送,鏈接所對應表項的查找僅在訪問該鏈接時才執行,避免了在頁面改寫時浪費時間。本發明一種基于SSLVPN的鏈接改寫方法如圖3所示,包括以下步驟步驟s301、SSLVPN網關接收到內網服務器向遠程主機發送的鏈接。步驟s302、SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬鴻4圣的對應關系,對鏈接進行改寫。該資源標識是預先在SSLVPN網關本地配置的,SSLVPN網關還建立了內網服務器中的資源地址與以該資源標識表示的網關虛擬路徑的對應關系;根據該對應關系,對鏈接中的內網服務器資源地址進行改寫。該該鏈接包括"完全鏈接"和"不完全絕對鏈接"。步驟s303、SSLVPN網關將改寫后的鏈接向遠程主機發送。以下結合實施例和具體的應用場景,對本發明的實施方式做進一步的說明。本發明一種基于SSLVPN的鏈接改寫方法如圖4所示,包括如下步驟步驟s401、SSLVPN網關為每個web資源分配一資源ID。以資源ID為32bit為例,資源ID的編碼格式如下ResID(32bit)=Random(20bit)+Index(12bit)其中,ResID為資源ID,Random為隨機數,Index為映射表索引。根據表項索引,通過某種算法可以很快得到映射表表項。在虛擬路徑中的ResID為十進制數字字符串,32位的二進制數對應的十進制數最長為10位(0-4294967295)。其中,Random可以用來識別原先已經失效的資源ID。新添加的表項很可能占用的是原來一個已經刪除表項的映射表索引,這時雖然Index相同,由于Index前面的Random不同,所以組成的ResID不同,系統可以識別出原來的資源ID已經失效。用戶所訪問的某一Web資源通過相應的資源ID來唯一標識。網關對于每一個請求凈艮文的處理都會通過對應的資源ID來檢查其合法性,一旦發現資源ID不存在則拒絕用戶請求。如果不引入隨機數機制,假設用戶在訪問資源的過程中,該資源被刪除,新創建資源的索引和^皮刪除資源的索引相同,在沒有隨^L數時,資源ID將相同,那么用戶依然可以訪問原來的Web資源。步驟s402、SSLVPN網關建立以資源ID為標識的"虛實路徑映射表,,。"虛實路徑映射表,,的格式可以如表l所示,其中包括資源索引、資源ID、網關虛擬路徑以及Web資源的URL。表l:<table>tableseeoriginaldocumentpage14</column></row><table>步驟s403、SSLVPN網關接收到需要進行改寫的URL時,對URL的類型進行判斷,為"不完全絕對鏈接"時進行步驟s404,為"完全鏈接"時進行步驟s406,為"不完全的相對鏈接"時不進行處理直接發送。步驟s404、SSLVPN網關對接收到的"不完全絕對鏈接"進行改寫。"不完全絕對鏈接"都是相對于當前訪問網站的路徑。而SSLVPN網關可以根據當前會話(保存著通訊站點信息)確定當前網站所對應的資源ID,進而替換掉鏈接中與之對應的路徑。例如表l所示的"虛實路徑映射表"中存在這樣的映射表項/svpn/1099498473/hhttp:〃麗.abc.com/xyz/。則若接收到的"不完全絕對鏈接"為"/xyz/path/page.htm"時,采用'7svpnA099498473/,,替換了原路徑中的"/xyz/",則改寫后的結果為/xyz/path/page.htm"/svpn/1099498473/path/page.htm步驟s405、SSLVPN網關將改寫后的"不完全絕對鏈接"向遠程主機發送并結束。遠程主機的用戶如果點擊了改寫后的"不完全絕對鏈接",則在SSLVPN網關收到的瀏覽器發來的URL請求應該形如'7svpn/ResID/path/page.htm,,,SSLVPN網關可以通過獲取資源ID,快速找到"虛實路徑映射表"中對應的表項。從而簡化了SSLVPN網關對虛擬路徑的分析,提高了處理效率。步驟s406、SSLVPN網關對接收到的"完全鏈接,,進行改寫。SSLVPN網關在分析頁面遇到"完全鏈接,,的時候,可以按照上述處理"不完全絕對鏈接"的方法,直接查找鏈接對應的資源ID并對鏈接進行改寫,該處理方式與上述步驟s404中"不完全絕對鏈接"的處理方式相同,在此不做重復介紹。考慮到進行直接查找鏈接對應的資源ID,可能會降低了頁面處理效率,因此本步驟采用另外一種處理方式在此直接將原鏈接作為CGI(CommonGatewayInterface,公共網關界面)的參數,不做任何分析和修改。由于用戶不一定會訪問頁面上被改寫的完全鏈接,因而沒有必要在轉換鏈接時花費太多的時間。侈'JJ(口完全鏈接為"http:〃www.domain.com/dir/path/page.htmparam",則改寫后的重定向鏈接為"/svpn/redirect.cgiurl=link_path"。其中,"/svpn/redirectcgi"是SSLVPN網關上專門處理"完全鏈接,,改寫的CGI頁面;linkj)ath為對原鏈接的編碼或加密,即link_path=encode(http:〃www.domain.com/dir/path/page.htmparams)該編碼可以采用常用的base64編碼,即link_path=base64(http:〃www.domain.com/dir/path/page.htmparams)。base64編石馬方式產生的字符為文字字符(字母、數字、+、/),不會影響http請求的解析,且編碼后長度增大不超過原字符長度1/3。步驟s407、SSLVPN網關將改寫后的"完全鏈接"向遠程主機發送。步驟s408、SSLVPN網關接收到遠程主機發送的訪問改寫后的"完全鏈接"的請求。遠程主機的用戶如果點擊了改寫后的完全鏈接,則會向SSLVPN網關發出請求,請求訪問改寫后的"完全鏈沖妻"中的redirect.cgi。步驟s409、SSLVPN網關向遠程主才幾發送重定向4艮文并結束。SSLVPN網關處理redirect.cgi時,從url參數linkjath中解碼出原來的"頁面請求"。在"虛擬路徑映射表"中查詢所請求的路徑是否存在。如果不存在,則拒絕請求;否則,使用表項中的虛擬路徑替換請求中對應的真實路徑部分,形成有效的"網關虛擬路徑,,。該過程與步驟s404中對接收到的"不完全絕對鏈接"進行改寫的方法相同,在此不進行重復描述。最后,返回重定向報文,引導瀏覽器訪問正確的"網關虛擬路徑"。之所以采用重定向,而不是直接轉發給內網服務器,是為了使瀏覽器得到一個前后一致的路徑,從而正確地使用cookie。實現重定向的方法有多種,以下僅舉一例,說明重定向的實現方法,其所使用的重定向報文內容為HTTP/1.1307TemporaryRedirectServer:SSLVPNPROXYLocation:https:〃192.168.111.88/svpn/webl/images/ed一word.gifPragma:no-cach6Cache-Control:no-cacheContent-Type:text/htmlContent-Length:278<HTML><HEAD><METAHTTP-EQUIV="REFRESH"CONTENT="0;URL=https:〃192.168.111.88/svpn/webl/images/ed一word.gif,><TITLE>SSLVPNPROXY</TITLE></HEAD><BODY><Ahref="https:〃192.168.111,88/svpn/webl/images/ed—word.gif">urlmoved</A></BODY></HTML>在上述報文中,采用Http協議的307號應答報文進行重定向,并且附加了一個html重定向頁面,其中使用META元素的HTTP-EQUIV屬性的refresh方法,要求瀏覽器按照指定的地址刷新頁面,從而保證了在客戶端瀏覽器不支持307號報文時,也能進行重定向。重定向報文中所包括的重定向的結果為https:〃192.168.111.88/svpn/webl/images/ed_word.gif,其中假設192.168.111.88為SSLVPN網關的IP地址。通過使用本爰明的實施例提供的上述方法,在網關虛擬路徑中采用資源ID替換對應的真實網路路徑,從而使得網關可以直接從請求中獲取資源ID,根據ID提取表項索引,加快了表項的查找速度;同時,采用包含資源ID的虛擬路徑可以有效縮短鏈接長度,并隱藏了真實的網址;另外,對"完全鏈接"所對應表項的查找僅在用戶訪問時才執行,避免了在頁面改寫時浪費時間。本發明還提供了一種SSLVPN網關設備,用于對從內網服務器接收到的向遠程主機返回的頁面中的鏈摔進行改寫。該SSLVPN網關設備的結構如圖5所示,包括內網服務器接口m,用于與內網服務器和鏈接改寫單元30連接,將從內網服務器接收到的向遠程主機返回的頁面中的URL發送到鏈接改寫單元30。資源配置單元20,與鏈接改寫單元30以及重定向報文生成單元50連接。用于建立以資源ID為標識的"虛實路徑映射表,,,即建立內網服務器中的資源地址與以資源ID表示的網關虛擬路徑的對應關系,其中包括資源索引、資源ID、網關虛擬路徑以及Web資源的URL,以供鏈接改寫單元30進行鏈接改寫以及重定向報文生成單元50生成重定向報文時使用。鏈接改寫單元30,與內網服務器接口IO、資源配置單元20以及遠程主機接口40連接,用于根據資源配置單元20的配置,對從內網服務器接口10接收到的內網服務器向遠程主機返回的頁面中的鏈接進行改寫,并將改寫后的鏈接向遠程主機接口40發送。遠程主機接口40,與鏈接改寫單元30以及重定向報文生成單元50連接。用于將鏈接改寫單元30改寫后的鏈接、以及重定向報文生成單元50生成的重定向報文向遠程主機發送。重定向才艮文生成單元50,與遠程主機接口40連接。用于接收到用戶訪問改寫后完全鏈接中的重定向頁面請求時,對改寫后的完全鏈接進行解碼,并使用表項中的虛擬路徑替換請求中對應的真實路徑部分,形成有效的"網關虛擬路徑,,,并將該有效的"網關虛擬路徑,,添加在重定向報文中向遠程主才;U妄口40發送。其中,鏈接改寫單元30進一步包括判斷子單元31,用于對從內網服務器接口IO接收到的內網服務器向遠程主機返回的頁面中的URL的類型進行判斷,對于不完全絕對鏈接,發送到不完全絕對鏈接改寫子單元32處理;對于完全鏈接,發送到完全鏈接改寫子單元33處理。不完全絕對鏈接改寫子單元32,用于接收到判斷子單元31發送的不完全絕對鏈接時,根據資源配置單元20提供的"虛實路徑映射表",確定不完全絕對鏈接中的當前網站所對應的資源ID,進而替換掉鏈接中與之對應的路徑。并將改寫后的鏈接向遠程主機接口40發送。完全鏈接改寫子單元33,用于接收到判斷子單元31發送的完全鏈接時,對完全鏈接進行改寫,并向遠程主機接口40發送。改寫方式可以包括根據資源配置單元20提供的對應關系,將鏈接中的內網服務器中的資源地址替換為以資源ID表示的網關虛擬路徑;或處理完全鏈接得到重定向參數,將鏈接替換為包括該重定向參數的重定向頁面,該處理可以為編碼或加密。通過使用本發明的實施例提供的上述SSLVPN網關設備,在網關虛擬路徑中采用資源ID替換對應的真實網路路徑,從而使得網關可以直接從請求中獲取資源ID,根據ID提取表項索引,加快了表項的查找速度;同時,采用包含資源ID的虛擬路徑可以有效縮短鏈接長度,并隱藏了真實的網址;另外,對"完全鏈接,,所對應表項的查找僅在用戶訪問時才執行,避免了在頁面改寫時浪費時間。以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發明的保護范圍。權利要求1、一種基于SSLVPN的鏈接改寫方法,其特征在于,包括以下步驟SSLVPN網關接收到內網服務器向遠程主機發送的鏈接;所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,對所述鏈接進行改寫;所述SSLVPN網關將所述改寫后的鏈接向所述遠程主機發送。2、如權利要求1所述基于SSLVPN的鏈接改寫方法,其特征在于,所述SSLVPN網關接收到內網服務器向遠程主機發送的鏈接的步驟前,還包括所述SSLVPN網關為與其連接的內網服務器中的資源地址分配資源標對應關系。3、如權利要求2所述基于SSLVPN的鏈接改寫方法,其特征在于,所述資源標識至少包括隨才幾數部分和資源索引部分。4、如權利要求1或2所迷基于SSLVPN的鏈接改寫方法,其特征在于,所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,對所述鏈接進行改寫的步驟具體為所述鏈接為不完全絕對鏈接或完全鏈接時,所述SSLVPN網關根據所述對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所述資源標識表示的網關虛擬路徑。5、如權利要求1或2所述基于SSLVPN的鏈接改寫方法,其特征在于,所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,對所述鏈接進行改寫的步驟具體為所述鏈接為完全鏈接時,所述SSLVPN網關處理所述完全鏈接得到重定向參數,將所述鏈接替換為包括所述重定向#*的重定向鏈接。6、如權利要求5所述基于SSLVPN的鏈接改寫方法,其特征在于,所述SSLVPN網關處理所述完全鏈接得到重定向參數的步驟具體為所述SSLVPN網關對所述完全鏈接進行編碼或加密,得到重定向參數。7、如權利要求5所述基于SSLVPN的鏈接改寫方法,其特征在于,所述鏈接為完全鏈接時,所述SSLVPN網關將所述改寫后的鏈接向所述遠程主機發送后還包括步驟所述SSLVPN網關接收遠程主機發送的訪問所述重定向鏈接的請求;所述SSLVPN網關根據所述重定向鏈接以及所述本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,獲得網關虛擬路徑;報文。8、如權利要求7所述基于SSLVPN的鏈接改寫方法,其特征在于,所述SSLVPN網關根據所述重定向鏈接以及所述本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,獲得網關虛擬路徑的步驟具體為所述SSLVPN網關根據所述重定向鏈接獲取完全鏈接;所述SSLVPN網關將所述完全鏈接中的內網服務器中的資源地址替換為以所述本地配置的資源標識表示的網關虛擬鴻4圣。9、一種SSLVPN網關設備,用于對從內網服務器接收到的向遠程主機返回的頁面中的鏈接進行改寫,其特征在于,包括內網服務器接口,用于將從內網服務器接收到的向遠程主機返回的頁面中的鏈接發送到鏈接改寫單元;鏈接改寫單元,用于根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,對從所述內網服務器接口接收到的內網服務器向遠程主機返回的頁面中的鏈接進行改寫,并將改寫后的鏈接向遠程主機接口發送;遠程主機接口,用于將所述鏈接改寫單元改寫后的鏈接向所述遠程主機發送。10、如權利要求9所述SSLVPN網關設備,其特征在于,還包括資源配置單元,用于建立內網服務器中的資源地址與以資源標識表示的網關虛擬路徑的對應關系,以供所述鏈接改寫單元進行鏈接改寫。11、如權利要求9或10所述SSLVPN網關設備,其特征在于,所述鏈接改寫單元進一步包括判斷子單元,用于對從所述內網服務器接口接收到的內網服務器向遠程主機返回的頁面中的鏈接類型進行判斷,對于不完全絕對鏈接,發送到不完全絕對鏈接改寫子單元;對于完全鏈接,發送到完全鏈接改寫子單元處理;不完全絕對鏈接改寫子單元,用于接收到所述判斷子單元發送的不完全絕對鏈接時,根據所述資源配置單元提供的對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所迷資源標識表示的網關虛擬路徑;完全鏈接改寫子單元,用于接收到所述判斷子單元發送的完全鏈接時,根據所述資源配置單元提供的對應關系,將所述鏈接中的內網服務器中的資源地址替換為以所述資源標識表示的網關虛擬路徑;或處理所述完全鏈接得到重定向參數,將所述鏈接替換為包括所述重定向參數的重定向鏈接。12、如權利要求11所述SSLVPN網關設備,其特征在于,還包括重定向才艮文生成單元,用于接收到用戶訪問改寫后的完全鏈接中的重定向鏈接的請求時,根據所述重定向鏈接獲得網關虛擬路徑;并向所述遠程主機發送包括所述網關虛擬路徑的重定向報文。全文摘要本發明公開了一種基于SSLVPN的鏈接改寫方法,包括以下步驟SSLVPN網關接收到內網服務器向遠程主機發送的鏈接;所述SSLVPN網關根據本地配置的內網服務器資源地址與以資源標識表示的網關虛擬路徑的對應關系,對所述鏈接進行改寫;所述SSLVPN網關將所述改寫后的鏈接向所述遠程主機發送。本發明還公開了一種SSLVPN網關設備。通過使用本發明,在網關虛擬路徑中采用資源ID替換對應的真實網路路徑,從而使得網關可以直接從請求中獲取資源ID,根據ID提取表項索引,加快了表項的查找速度;同時,采用包含資源ID的虛擬路徑可以有效縮短鏈接長度;另外,對“完全鏈接”所對應表項的查找僅在用戶訪問時才執行,避免了在頁面改寫時浪費時間。文檔編號H04L12/66GK101132420SQ20071016403公開日2008年2月27日申請日期2007年10月16日優先權日2007年10月16日發明者鵬梁,明薛,韓小平申請人:杭州華三通信技術有限公司