一種反向代理方法及裝置的制造方法
【專利說明】
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種反向代理方法及裝置。
【【背景技術(shù)】】
[0002]反向代理技術(shù),指的是通過代理服務(wù)器接收客戶端發(fā)送的連接請求,然后將連接請求轉(zhuǎn)發(fā)給指定的內(nèi)部服務(wù)器進行處理,并將內(nèi)部服務(wù)器的處理結(jié)果返回給發(fā)送連接請求的客戶端。代理服務(wù)器由于緩存了完整的請求信息和部分頁面數(shù)據(jù),因此可以提高網(wǎng)站性能。同時,由于代理服務(wù)器處于客戶端與內(nèi)部服務(wù)器之間,因此能夠很好的防止很多安全隱患。因此,反向代理技術(shù)普遍應(yīng)用于互聯(lián)網(wǎng)領(lǐng)域。
[0003]現(xiàn)有技術(shù)中,代理服務(wù)器根據(jù)配置的規(guī)則,將連接請求發(fā)往內(nèi)部服務(wù)器。然而,目前代理服務(wù)器上配置的規(guī)則文件是在部署代理服務(wù)器時就配置好的,無法實現(xiàn)規(guī)則文件的動態(tài)配置。因此,代理服務(wù)器上配置的規(guī)則比較單一,代理服務(wù)器分發(fā)連接請求的靈活性比較低。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,本發(fā)明實施例提供了一種反向代理方法及裝置,用以解決代理服務(wù)器上配置的規(guī)則比較單一以及分發(fā)連接請求的靈活性比較低的問題。
[0005]本發(fā)明實施例的一方面,提供一種反向代理方法,包括:
[0006]接收客戶端發(fā)送的連接請求,所述連接請求包含請求參數(shù);
[0007]根據(jù)預(yù)先加載的用戶動態(tài)配置的規(guī)則文件和所述請求參數(shù),獲得處理所述連接請求的內(nèi)部服務(wù)器;
[0008]向所述內(nèi)部服務(wù)器發(fā)送所述連接請求。
[0009]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述接收客戶端發(fā)送的連接請求之前,所述方法還包括:
[0010]對代理服務(wù)器的指定目錄進行監(jiān)聽;
[0011]若監(jiān)聽到所述指定目錄下接收到用戶動態(tài)配置的規(guī)則文件,調(diào)用所述代理服務(wù)器中預(yù)設(shè)的加載指令,以使得所述加載指令加載所述規(guī)則文件。
[0012]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述請求參數(shù)包括統(tǒng)一資源定位符URL、Cookie、用戶輸入的關(guān)鍵詞、用戶的IP地址、用戶信息和請求類型中至少一個。
[0013]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述根據(jù)預(yù)先加載的用戶動態(tài)配置的規(guī)則文件和所述請求參數(shù),獲得處理所述連接請求的內(nèi)部服務(wù)器,包括:
[0014]對預(yù)先加載的用戶動態(tài)配置的規(guī)則文件進行解析,以獲得請求參數(shù)與內(nèi)部服務(wù)器的映射關(guān)系;
[0015]根據(jù)所述請求參數(shù),在所述請求參數(shù)與內(nèi)部服務(wù)器的映射關(guān)系中進行匹配,以獲得匹配結(jié)果;
[0016]根據(jù)所述匹配結(jié)果,獲得處理所述連接請求的內(nèi)部服務(wù)器。
[0017]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述根據(jù)所述匹配結(jié)果,獲得處理所述連接請求的內(nèi)部服務(wù)器,包括:
[0018]若所述匹配結(jié)果是存在與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器,將與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器作為處理所述連接請求的內(nèi)部服務(wù)器;或者,
[0019]若所述匹配結(jié)果是沒有與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器,將指定的其他服務(wù)器作為處理所述連接請求的內(nèi)部服務(wù)器。
[0020]本發(fā)明實施例的一方面,提供一種反向代理裝置,包括:
[0021]請求接收模塊,用于接收客戶端發(fā)送的連接請求,所述連接請求包含請求參數(shù);
[0022]規(guī)則匹配模塊,用于根據(jù)預(yù)先加載的用戶動態(tài)配置的規(guī)則文件和所述請求參數(shù),獲得處理所述連接請求的內(nèi)部服務(wù)器;
[0023]請求轉(zhuǎn)發(fā)模塊,用于向所述內(nèi)部服務(wù)器發(fā)送所述連接請求。
[0024]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述裝置還包括:
[0025]規(guī)則加載模塊,用于對代理服務(wù)器的指定目錄進行監(jiān)聽;若監(jiān)聽到所述指定目錄下接收到用戶動態(tài)配置的規(guī)則文件,調(diào)用所述代理服務(wù)器中預(yù)設(shè)的加載指令,以使得所述加載指令加載所述規(guī)則文件。
[0026]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述請求參數(shù)包括統(tǒng)一資源定位符URL、Cookie、用戶輸入的關(guān)鍵詞、用戶的IP地址、用戶信息和請求類型中至少一個。
[0027]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述規(guī)則匹配模塊,具體用于:
[0028]對預(yù)先加載的用戶動態(tài)配置的規(guī)則文件進行解析,以獲得請求參數(shù)與內(nèi)部服務(wù)器的映射關(guān)系;
[0029]根據(jù)所述請求參數(shù),在所述請求參數(shù)與內(nèi)部服務(wù)器的映射關(guān)系中進行匹配,以獲得匹配結(jié)果;
[0030]根據(jù)所述匹配結(jié)果,獲得處理所述連接請求的內(nèi)部服務(wù)器。
[0031]如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述規(guī)則匹配模塊用于根據(jù)所述匹配結(jié)果,獲得處理所述連接請求的內(nèi)部服務(wù)器時,具體用于:
[0032]若所述匹配結(jié)果是存在與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器,將與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器作為處理所述連接請求的內(nèi)部服務(wù)器;或者,
[0033]若所述匹配結(jié)果是沒有與所述請求參數(shù)相匹配的內(nèi)部服務(wù)器,將指定的其他服務(wù)器作為處理所述連接請求的內(nèi)部服務(wù)器。
[0034]由以上技術(shù)方案可以看出,本發(fā)明實施例具有以下有益效果:
[0035]本發(fā)明實施例提供的技術(shù)方案中,代理服務(wù)器根據(jù)動態(tài)獲得的規(guī)則文件,進行連接請求的分發(fā),與現(xiàn)有技術(shù)中無法動態(tài)配置規(guī)則的技術(shù)方案相比,本發(fā)明實施例能夠解決現(xiàn)有技術(shù)中代理服務(wù)器上配置的規(guī)則比較單一以及分發(fā)連接請求的靈活性比較低的問題,提高了代理服務(wù)器上配置的規(guī)則的多樣性,也提高了分發(fā)連接請求的靈活性?!尽靖綀D說明】】
[0036]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0037]圖1是本發(fā)明實施例所提供的技術(shù)方案使用的系統(tǒng)的示例圖;
[0038]圖2是本發(fā)明實施例所提供的反向代理方法的流程示意圖;
[0039]圖3是本發(fā)明實施例所提供的反向代理方法的實施例的流程示例圖;
[0040]圖4是本發(fā)明實施例所提供的反向代理裝置的實施例一的功能方塊圖;
[0041]圖5是本發(fā)明實施例所提供的反向代理裝置的實施例二的功能方塊圖。
【【具體實施方式】】
[0042]為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。
[0043]應(yīng)當明確,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0044]在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所