|NO.Z.00016|——————————|^^ 構建 ^^|——|squid快取/代理服務.V1|-------------------------------|4臺server|
阿新 • • 發佈:2022-03-22
[Applications:squid快取/代理服務.V1] [Applications.LBC&HAC$HPC] [叢集|squid快取/代理服務|squid傳統模式|squid透明模式|squid反向代理模式|ACL|HTTP_ACCESS|4臺server]
一、squid簡介
二、Squid工作邏輯### --- squid簡介 ~~~ 一個快取伺服器的守護程序 ~~~ (二八原則:百分之八十的訪問量都是由百分之二十的資料去完成的。) ~~~ FTP(VSFTP的前端的快取) HTTP SSL: 支援的反向代理的型別 ~~~ 磁碟 分割槽 目錄 object : ~~~ 不同磁碟下構建分割槽再在分割槽下構建目錄,只能支援二級目錄, ~~~ 在下面存放的是object(物件的含義在squid中是快取,充當著快取的角色) ~~~ (通過下面兩個表進行查詢,就可以快速的查詢到快取) ~~~ Hash tables 目錄 每個digest的索引資訊 ~~~ Digest tables 索引 不同分割槽對應object大概說明 ~~~ (UFS的檔案系統,UFS不支援太複雜的許可權設定,它也不需要太複雜的許可權設定) ~~~ squid針對的是單個檔案比較大的型別快取,效能較高 squid只支援rr模式。 ~~~ Varnish :squid的競爭者。通過記憶體分頁技術傳輸資料。 ~~~ 單個檔案比較小的型別快取效能相對squid的較好。
### --- Squid工作邏輯
~~~ 客戶機發起請求到squid代理伺服器,
~~~ squid代理伺服器會在cache中尋找到底有沒有想要資料的儲存檔案或者快取檔案
~~~ 若是沒有它會向後端伺服器發起請求,後端伺服器會把這個請求返回給squid伺服器
~~~ squid伺服器把資料儲存在cache中,再返回給客戶端。
~~~ 下一次進來訪問若是有快取會直接把資料返回給客戶端。不需要進行後端伺服器的互動
~~~ 設定最大的快取量,以及快取的約束,來減少squid的壓力
三、工作模式
四、傳統模式### --- 工作模式 ~~~ 傳統代理:內網使用者做的加速訪問 ~~~ 透明代理:內網使用者做的加速訪問 ~~~ 反向代理:公網使用者做的加速訪問
五、透明模式### --- 傳統模式 ~~~ Internet伺服器是公網的web伺服器公網存在對應的web伺服器 ~~~ 內網想訪問公網的話,必須要把請求交給squid伺服器 ~~~ squid伺服器會向公網索要資料,公網反饋資料給squid伺服器之後 ~~~ squid伺服器再返回給客戶端,達到代理的過程。 ~~~ 相當於我要什麼,都是squid幫我獲取資料。 ~~~ 若是下一次再次訪問這個資料,squid不會進行公網互動,會直接在快取中獲取資料。 ~~~ 明確指明代理伺服器的IP地址和埠號:IE——>internet選項——>連線 ~~~ ——>區域網LAN設定——>代理伺服器(告訴這個瀏覽器要是想要訪問公網的話 ~~~ 那個IP和埠去獲取資料)內網情況下配置(透明模式可以解決這一缺陷)
### --- 透明模式
~~~ 工作流程和傳統模式的工作模式一直
~~~ 通過防火牆iptables或者其它功能的設定去讓服務功能自動的轉交,
~~~ 在客戶端裡不需要配置代理端的IP埠。
~~~ 內網使用者可能不知道使用squid服務代理上網,但實實在在進行squid服務提供服務。
六、反向代理模式
### --- 反向代理模式
~~~ web1/web2/web3伺服器是在內網環境下,
~~~ PC1.PC2兩個公網的客戶端
~~~ 客戶端通過公網訪問到squid伺服器,squid伺服器再訪問到web伺服器。
~~~ squid拿到資料之後會把資料快取在本機。下一次公網使用者訪問相同資料時直接返回,
~~~ 減輕後端伺服器的壓力。
七、squid簡介(版本到達3.x版本)
### --- squid簡介(版本到達3.x版本)
~~~ squid服務端:
~~~ 軟體包:squid-2.6.STABLE21-6.e15(3.1之後使用c語言重構)
~~~ 系統服務:squid
~~~ 主程式:/usr/sbin/squid
~~~ 主配置檔案:/etc/squid/squid.con
~~~ 預設監聽埠: TCP 3128
~~~ 預設訪問日誌:/var/log/squid/access.log
八、常見配置
### --- 常見配置
http_port 3128 // 指定埠
access_log /var/log/squid/access.log squid // 指定日誌及日誌的使用者squid
cache_mem 64 MB // cache_mem squid程序能夠呼叫的最大的記憶體資源
cache_dir ufs /var/spool/squid 100 16 256 // cache_dir快取目錄,使用的檔案系統UFS /var/spool/squid快取目錄路徑 100:快取目錄能夠使 用的最大的儲存資源兆比,16:一級目錄的最大個數,256:二級目錄的最大個數
visible_hostname proxy.benet.com // visible_hostname:可見名稱 proxy.benet.com名稱命名格式
dns_testnames www/google.com www.163.com // dns_testnames:dns代理,squid代理使用者請求的,若是發現自己都宕機的話是不可以代理的。它有一個自我判斷自己是否宕機的機制,通過訪問較為穩定的公網www/google.com www.163.com:定時的去測試是否能夠正常訪問;若是不可以訪問,說明它已經宕機,會發出相應的告警資訊
maximum_object_size 4096 KB // 快取:maximum_object_size 4096 KB 最大快取物件的大小 ,快取一般快取的是 靜態資源。此超過4096就不需要快取了
reply_body_max_size 10MB // 允許:reply_body_max_size 10MB 允許我們訪問的最大的單個檔案最大的大小。允許經過通過代理的最大資料。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)