07-Web Cache配置
本章節下載: 07-Web Cache配置 (363.63 KB)
1.10.1 配置Web Cache雙網關場景下的流量互引功能
1.10.2 開啟Web Cache對QueryString請求的文件的緩存功能
1.10.3 配置Web Cache忽略指定的HTTP/HTTPS響應頭類型
Web Cache(網站緩存)是將用戶通過HTTP/HTTPS協議訪問過的指定地址服務器的Web頁麵上的內容,緩存在本地,在緩存文件的老化時間內用戶訪問相同內容時,直接從本地響應的一種緩存功能,從而減少設備到服務器的訪問流量、降低傳輸成本、緩解目的端服務器壓力,同時提高了用戶訪問網站的速度及響應時間,增強了用戶體驗。
需要緩存的Web頁麵內容以文件的形式存放於Web Cache的工作路徑中。緩存文件總大小超出緩存允許存儲的最大空間時,最舊的緩存文件將被覆蓋。
本文中描述的偵聽端口分為兩類端口。
· Web Cache偵聽端口:設備提供Web Cache服務的端口,隻有發送給該端口的報文,才會送至Web Cache進程處理。
· Web服務器偵聽端口:Web服務器上提供Web服務的端口,隻有發送給該端口的報文,才會送至Web進程處理。
每個Web Cache緩存文件的老化時間為30天。設備收到相同Web內容的請求或重啟時,會重新計算該緩存文件的老化時間。若超過老化時間仍沒有用戶請求該緩存文件,則刪除該緩存文件。
Web Cache的工作原理如下所示:
圖1-1 Web Cache工作原理示意圖
(2) 用戶主機(Host)發送給Web服務器(Server)的HTTP/HTTPS GET請求報文到達設備(Device)後,若請求服務的目的端口為指定的Web服務器偵聽端口,則設備會將該目的端口轉換為對應的Web Cache偵聽端口以觸發Web Cache進程。
(3) Web Cache獲取報文的URL,依據URL在Web Cache工作路徑下的各個緩存文件中進行查找:
¡ 若找到匹配項,則構建響應報文,並將找到的緩存內容直接返回給主機。
¡ 若未找到匹配項,則繼續進行下麵的處理。
(4) 設備重新封裝HTTP/HTTPS GET請求報文發送給Web服務器。
(5) 當設備收到服務器的響應後,檢查是否為可以緩存的文件類型:
¡ 若可以緩存,會將緩存內容保存到工作路徑下的緩存文件中,並將緩存內容構建成響應報文發送給主機。
¡ 若不允許緩存,則直接將緩存內容構建成響應報文發送給主機。
設備發送響應報文時,若Web Cache的偵聽端口和Web服務器的偵聽端口不一致,則設備會將響應報文的源端口替換回Web服務器的偵聽端口號後發送。
為了增強Web Cache功能的可靠性,設備支持配置Web Cache主用slot和備用slot,以實現Web Cache的主備功能。正常情況下,Web Cache主用slot對外提供Web Cache服務。當主用slot發生故障時,備用slot上的Web Cache進程接替主用slot上的Web Cache進程繼續對外提供Web Cache服務,以便保證Web Cache服務不中斷。當主用slot修複且備用slot故障時,Web Cache服務才切換回主用slot。
Web Cache工作路徑也支持配置主用工作路徑和備用工作路徑。主用工作路徑為主用slot服務,用於存放Web Cache主用進程工作時的緩存文件和工作數據;備用工作路徑為備用slot服務,用於存放Web Cache備用進程工作時的緩存文件和工作數據。
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
係列 |
型號 |
說明 |
F5000係列 |
F5000-AI160、F5000-AI-160-G、F5000-AI-130-G、F5000-E-G、F5000-CN-G55、F5080、F5030、F5000-AI-120-G、F5000-AI-110-G、F5000-AI-55-G、F5000-AI-15-G、F5000-CN160-G、F5000-S-G2、F5000-M-G2、F5000-A-G2 |
支持 |
F5000-CN160 |
不支持 |
|
F1000係列 |
F1000-AK9130 |
不支持 |
F1000-AI-90、F1000-AI-25、F1000-AI-90-G、F1000-AI-80-G、F1000-AI-75-G、F1000-AI-65-G、F1000-AI-55-G |
支持 |
Web Cache需要安裝License才能使用。未安裝license時,重啟設備會自動刪除Web Cache的相關配置。有關License的詳細介紹,請參見“基礎配置指導”中的“License管理”。
請先配置允許緩存Web頁麵上的文件類型和Web Cache的主用工作路徑,再開啟Web Cache功能。如果在Web Cache運行過程中需要修改Web Cache參數,需先關閉Web Cache功能,完成修改後再次開啟。
Web Cache的配置任務如下:
(2) (可選)配置Web Cache源或目的過濾規則
(3) 配置Web Cache偵聽端口號
(5) (可選)配置Web Cache擴展功能
¡ 開啟Web Cache對QueryString請求的文件的緩存功能
¡ 配置Web Cache忽略指定的HTTP/HTTPS響應頭類型
(6) 開啟Web Cache功能
(7) (可選)配置Web Cache備份功能
通過配置本功能,可對Web Cache能緩存的文件進行過濾。管理員可設置三種過濾規則:
· 通過文件類型進行過濾。
· 通過文件名稱進行過濾。
· 通過文件擴展名進行過濾。
其中,文件類型過濾規則必須配置,Web Cache才能開始緩存Web資源,當上述三種方式均配置時,則滿足其中任一配置的Web資源都可以被緩存,優先使用文件名進行完全匹配。
修改Web Cache的文件過濾規則前,需要關閉Web Cache功能,完成修改後再次開啟。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置允許緩存Web頁麵上的文件類型。
cached-data { apk | bmp | doc | docx | gif | gzip | ipa | jar | jpg | jpeg | mp4 | pdf | png | ppt | pptx | rar | swf | tar | txt | xls | xlsx | zip } *
缺省情況下,未配置允許緩存Web頁麵上的文件類型,設備將不會緩存任何文件類型的Web頁麵上的內容。
(4) (可選)配置允許緩存Web頁麵上的文件。
cached-file file-name
缺省情況下,未配置Web Cache允許緩存的文件。
(5) (可選)配置Web Cache允許緩存的文件擴展名。
cached-extension-name extension-name
缺省情況下,未配置可緩存的文件擴展名。
可通過多次執行本命令,配置多個Web Cache允許緩存的文件擴展名,最多同時存在64個文件擴展名。
缺省情況下,Web Cache可緩存所有Web服務器的數據。通過配置本功能,可以對Web Cache源或目的進行過濾,即通過引入IPv4對象組,使Web Cache僅對指定客戶端請求的Web資源進行緩存,或僅對指定Web服務器的Web資源進行緩存。一個IPv4對象組可以和多個用戶主機或Web服務器關聯。
引用了對象組後,設備收到用戶主機發送給Web服務器的HTTP/HTTPS GET請求報文時,會檢查是否允許緩存該服務器或是否允許緩存該用戶主機請求的Web資源,若允許,將報文送達至設備中的Web Cache,否則直接轉發到服務器。
Web Cache使用本功能引用了未創建地址對象的空對象組時,將不對任何Web服務器的Web資源進行緩存、即拒絕任何客戶端的Web資源緩存請求。
配置本功能前:
· 請先配置IPv4地址對象組。有關IPv4地址對象組功能的詳細介紹,請參見“安全配置指導”中的“對象組”。
· 需要關閉基於HTTP的Web Cache功能,完成修改後再次開啟。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置引用IPv4地址對象組來對Web Cache可緩存的Web數據進行過濾。
object-group [ source ] ip object-group-name
缺省情況下,Web Cache未對可緩存的Web數據進行過濾,設備將緩存所有服務器指定類型的工作數據。
缺省情況下,Web Cache偵聽HTTP報文的端口為4180,可緩存HTTP報文偵聽端口為80的Web服務器資源;Web Cache偵聽HTTPS報文的端口為2043,可緩存HTTPS報文偵聽端口為443的Web服務器資源。出現以下任一場景時,可以配置本功能:
· Web Cache的偵聽端口被本設備的其它業務占用,Web Cache功能無法開啟。
· 緩存資源所屬的Web服務器偵聽端口不是80(HTTP)或443(HTTPS)。
如需緩存多個Web服務器上的數據,且這些Web服務器偵聽的端口不同,則需要多次配置本功能,將Web Cache偵聽端口與Web服務器偵聽端口一一對應,每種協議(HTTP/HTTPS)最多可配置8組對應關係。
多次配置本功能,將一個Web Cache偵聽端口綁定多個Web服務器偵聽端口、或者多個Web Cache偵聽端口綁定同一個Web服務器偵聽端口時,均會將配置覆蓋,僅最新配置生效。
請確保Web Cache偵聽HTTP/HTTPS報文的端口號不會被其他業務使用。
配置本功能前:
· 需要關閉Web Cache功能,完成修改後再次開啟。
· 請確保指定的端口號是未被其他業務使用的端口號,可以使用display tcp verbose命令來查看當前設備正在使用的TCP端口號。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置Web Cache的TCP偵聽端口號。
¡ 配置Web Cache偵聽HTTP報文的端口號。
listen-port port-number [ server-port server-port-number ]
¡ 配置Web Cache偵聽HTTPS報文的端口號。
https listen-port port-number [ server-port server-port-number ]
通過配置本功能,可以指定Web Cache的主用工作路徑,設備存儲空間有限時,可通過cache-limit命令來限製所有Web Cache緩存文件的總大小的最大值。
指定Web Cache的主用工作路徑時,需要注意的是:
· 指定的主用工作路徑必須是創建Web Cache視圖時指定的slot上的路徑。否則,配置失敗。
· 配置Web Cache的工作路徑前,請保證該目錄下沒有與工作路徑最後一級名稱相同且不帶文件擴展名的文件存在,否則,Web Cache異常退出。
· Web Cache的緩存文件和工作數據通常會占用較大的存儲空間(GB級別),建議主用工作路徑配置在存儲空間較大的存儲介質上。
配置Web Cache的文件存儲參數前,需要關閉Web Cache功能,完成修改後再次開啟。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置Web Cache主用工作路徑。
file-directory directory
缺省情況下,未配置Web Cache主用工作路徑。
(4) (可選)配置所有Web Cache緩存文件總大小的最大值。
cache-limit size
缺省情況下,所有Web Cache緩存文件的總大小的最大值為4GB。
指定所有Web Cache緩存文件的總大小的最大值必須小於工作路徑中可存儲數據的最大值。
本功能用於Web Cache雙網關場景,如圖1-2所示。在本場景中,Device A和Device B通過接入交換機同時為用戶提供Web Cache緩存服務,Web Cache服務的上下行鏈路均存在等價路徑。當用戶訪問Web資源的上、下行路徑不一致時,例如,用戶訪問Web資源的上行流量經過Device A,而下行流量卻經過Device B;此時由於Device B上沒有用戶記錄,無法將下行流量轉發給用戶,導致用戶訪問Web資源失敗。
在本場景中,上行流量為用戶主機發送往Web服務器的HTTP/HTTPS請求報文流量,下行流量為Web服務器返回給用戶主機的HTTP/HTTPS響應報文流量。網關設備之間的引流通道為直連的物理鏈路或GRE隧道,以保證Web Cache網關與對端設備之間的IP連通性。
圖1-2 用戶訪問Web資源失敗示意圖
通過在Device B上配置本功能,可以讓設備和對端網關建立流量互引關係,如圖1-3所示:建立互引關係後,如果Device B收到了無法查找到用戶的Web Cache下行流量,Device B就會將下行流量從指定的通道接口轉發給對端設備Device A處理,使Device A能夠正確代理用戶所需的Web資源。
在配置與指定對端設備建立流量互引關係前,需要完成以下任務:
· 建立網關之間的引流通道,以保證下行流量能通過引流通道到達對端設備。
· 關閉Web Cache功能,完成修改後再次開啟。
在配置dual-gateway-channel命令時,請確保指定對端設備的IPv4地址可達,並且在路由轉發表中該地址的出接口為本命令配置的通道接口。
可通過多次執行dual-gateway-channel命令,在多個VPN實例下分別建立流量互引關係。指定公網或同一VPN實例多次執行該命令時,最後一次執行的命令生效。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置與對端設備建立流量互引關係。
dual-gateway-channel [ vpn-instance vpn-instance-name ] interface interface-type interface-number peer ipv4-address
缺省情況下,設備未與對端設備建立流量互引關係。
缺省情況下,URL中QueryString請求的文件不會被Web Cache緩存。配置本功能後,Web Cache可以緩存QueryString請求的文件。Web Cache會結合其他的文件過濾規則最終決定是否緩存QueryString請求的文件。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 開啟Web Cache對QueryString請求的文件的緩存功能。
querystring-file-cache enable
缺省情況下,Web Cache對QueryString請求的文件的緩存功能處於關閉狀態。
Cache-Control、Set-Cookie以及Vary響應頭,對Web Cache服務緩存Web資源的影響如下:
· Web服務器返回的HTTP/HTTPS響應報文中攜帶Cache-Control響應頭時,根據Cache-Control響應頭包含的指令,Web Cache可能不會緩存本次請求的Web資源。
· Web服務器返回的HTTP/HTTPS響應報文中攜帶Set-Cookie響應頭時,Web Cache不會緩存本次請求的Web資源。
· Web服務器返回的HTTP/HTTPS響應報文中攜帶Vary響應頭時,根據Vary消息的取值,Web Cache可能不會緩存本次請求的Web資源。
配置本功能後,Web Cache會忽略指定的響應頭類型,以確保能夠緩存用戶請求的Web資源。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置Web Cache忽略指定的HTTP/HTTPS響應頭類型。
cache-ignore { cache-control | set-cookie | vary } *
缺省情況下,Web服務器返回的HTTP/HTTPS響應頭類型影響Web Cache服務是否緩存資源。
開啟Web Cache功能前必須配置允許緩存Web頁麵上的文件類型和Web Cache的主用工作路徑。
在如下情況開啟Web Cache功能時,會使已配置的Web Cache功能重啟:
· 已配置基於HTTP的Web Cache功能,再開啟基於HTTPS的Web Cache功能。
· 已配置基於HTTPS的Web Cache功能,再開啟基於HTTP的Web Cache功能。
· 已配置基於HTTP和HTTPS的Web Cache功能,關閉其中的一項。
當用戶使用HTTPS訪問Web服務器,且通過開啟了基於HTTPS的Web Cache功能的設備進行Web資源緩存時,會出現證書告警提示——因為WebCache設備和用戶主機建立SSL連接使用的是本設備的數字證書,此證書為私有CA簽發,無法通過用戶主機HTTPS客戶端的驗證。此時,可以將Web Cache設備上Web Cache工作路徑下名稱為webcache_cacert.crt的CA根證書文件導出,並添加到用戶主機的“受信任的證書頒發機構”中,用戶主機會將Web Cache設備作為其數字證書的CA,以便通過數字證書的校驗,避免出現證書告警提示。
(1) 進入係統視圖。
system-view
(2) 進入Web Cache視圖。
web-cache slot slot-number
(3) 開啟Web Cache功能。請至少選擇其中一項進行配置。
¡ 開啟基於HTTP的Web Cache功能。
http enable
缺省情況下,基於HTTP的Web Cache功能處於關閉狀態。
¡ 開啟基於HTTPS的Web Cache功能。
https enable
缺省情況下,基於HTTPS的Web Cache功能處於關閉狀態。
配置Web Cache的備用工作路徑時,需要注意的是:
· Web Cache的緩存文件和工作數據通常會占用較大存儲空間(GB級別),建議備用工作路徑配置在存儲空間較大的存儲介質上。
· 指定的備用工作路徑必須是backup命令指定的slot上的路徑。
· 配置Web Cache的工作路徑前,必須保證該目錄下沒有與工作路徑最後一級名稱相同且不帶文件擴展名的文件存在。
(1) 進入係統視圖。
system-view
(2) 創建並進入Web Cache視圖。
web-cache slot slot-number
(3) 配置Web Cache的備用slot。
backup slot slot-number
缺省情況下,未配置Web Cache的備用slot。
(4) 配置Web Cache的備用工作路徑。
file-directory backup directory
缺省情況下,未配置Web Cache備用工作路徑。
創建Web Cache備用工作路徑後,主用工作路徑上的Web Cache緩存文件不會同步備份到備用工作路徑上。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後Web Cache的運行情況,通過查看顯示信息驗證配置的效果。
表1-1 Web Cache顯示和維護
操作 |
命令 |
顯示Web Cache的相關信息 |
display web-cache [ history [ last { day | 30-days | 365-days | hour | minute | week } | verbose ] ] |
Web Cache功能啟動失敗。
原因可能是配置偵聽端口已被其他功能使用,不能重複偵聽。
當配置的Web Cache的TCP偵聽端口正在被其他應用偵聽時,啟動Web Cache會失敗,通過display tcp verbose命令查看到當前正在被偵聽的端口,配置未被偵聽的端口為Web Cache的TCP偵聽端口。
重啟Web Cache主用slot後,Web Cache服務沒有成功遷移到備份slot。
原因可能是備用工作路徑中的存儲介質配置錯誤或者不可訪問。
通過dir命令查看配置的file-directory backup備份工作路徑中的存儲介質是否可以訪問。有關dir的詳細介紹,請參見“基礎配置命令參考”中的“文件係統管理”。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!