最新國外代理服務(wù)器(五大開(kāi)源Web代理服務(wù)器橫評)
Web 代理軟件轉發(fā) HTTP 請求時(shí)并不會(huì )改變數據流量。最新它們可以配置成透明代理,國外而無(wú)需客戶(hù)端配置。代理b代它們還可以作為反向代理放在網(wǎng)站的服務(wù)前端;這樣緩存服務(wù)器可??以為一臺或多臺 web 服務(wù)器提供無(wú)限量的用戶(hù)服務(wù)。
網(wǎng)站代理功能多樣,開(kāi)源有著(zhù)寬泛的理服用途:從緩存頁(yè)面、DNS 和其他查詢(xún),橫評到加速 web 服務(wù)器響應、最新降(′?`*)低帶寬消(xiao)耗。國外代理軟件廣泛用于大型高訪(fǎng)問(wèn)量的代理b代網(wǎng)站,比如紐約時(shí)報、服務(wù)(???)衛報,開(kāi)源 以及社交媒體網(wǎng)站如 Twitter、理服Facebook 和 Wikipedia。橫評
頁(yè)面緩存已經(jīng)成為優(yōu)化單位時(shí)間內(′▽?zhuān)?)所能吞吐的最新數據(ju)量的至關(guān)重要的機制。好的 Web 緩存還能(neng)降低延遲,盡可能快地響應頁(yè)面,讓終端用戶(hù)不至于因等待內容的時(shí)間過(guò)久而失去耐心。??它們還能將頻繁訪(fǎng)問(wèn)的(′ω`*)內容緩存起來(lái)以節省帶寬。如果你需要降低服務(wù)器負載并改善網(wǎng)站內容響應速度,那緩存軟件能帶來(lái)的好處就絕(╯°□°)╯對值得探索一番。
為深入探查 Linux 下可用的相關(guān)軟件的質(zhì)量,我列出了下邊5個(gè)優(yōu)秀的開(kāi)源 web 代理工具。它們中有些功能完備強大,也有幾個(gè)只需很低的資源就能運行。
Squid
Squid 是一個(gè)高性能、開(kāi)源的代理緩存服務(wù)器和 Web 緩存進(jìn)程,支持 FTP、Internet Gopher、HTTPS 和 SSL 等多種協(xié)議。它通過(guò)一個(gè)非阻塞的、I/O 事件驅動(dòng)的單一進(jìn)程處理??所有的 IPV4 或 IPV6 協(xié)議請求。
Squid 由一個(gè)主服務(wù)程序 squid,和 DNS 查詢(xún)程序 dnsserver,另外還有一些可選的請求重??寫(xiě)、執行認證程(′ω`)序組件,及一些管ヾ(?■_■)ノ理和客戶(hù)端工具構成。
Squid 提供了豐富的訪(fǎng)問(wèn)控制、認證和日志環(huán)境, 用于開(kāi)發(fā) web 代理和內容服務(wù)網(wǎng)站應用。
其特性包括:
Web 代理:通過(guò)緩存來(lái)降低訪(fǎng)問(wèn)時(shí)間和帶寬使用(???)將元數據和訪(fǎng)問(wèn)特??別頻繁的對象緩存到內存中緩存 DNヾ(′▽?zhuān)??S 查詢(xún)支持非阻塞的 DNS 查詢(xún)實(shí)現了失敗請求的未果緩存Squid 緩存可架設為層次結構,或網(wǎng)狀結構以節省額外的帶寬通過(guò)廣泛的訪(fǎng)問(wèn)控制來(lái)執行網(wǎng)站訪(fǎng)問(wèn)策略隱匿請求,如禁用或修改客戶(hù)端 HTTP 請求頭(tou)特定屬性反向代理限制支持 SSL支持 IPv6錯誤頁(yè)面的本地化 – Squid 可以根據訪(fǎng)問(wèn)者的語(yǔ)言選項對每個(gè)請求展示本地化的錯誤頁(yè)面(用于 NTLM Auth Passthrough) – 一種允許 Web 服務(wù)器通過(guò) Web 代理使用Microsoft NTLM 安全認證替代 HTTP 標準認證的方案支持流選擇一個(gè) TOS/??Diffserv 值來(lái)標記本地命中選擇一個(gè) TOS/Diffserv 值來(lái)標記對端命中???選擇性地僅標記同級或上級請求允許任意發(fā)往客戶(hù)端的 HTTP 響應保持由遠程服務(wù)器處響應的 TOS?? 值對收到的遠程服務(wù)器的 TOS 值,在復制之前對指定位進(jìn)行掩碼操作,再發(fā)送到客戶(hù)端SSL Bump (用于 HTTPS 過(guò)濾和適配) – Squid(′?`)-in-the-middle,在 CONNECT 方式的 SSL(╯‵□′)╯ 隧道中,用配置化的客戶(hù)端和服務(wù)器端證書(shū),對流量進(jìn)行解密和加密支持適配模塊ICAP 旁路和??重試增強 – 通過(guò)完全的旁路和動(dòng)態(tài)鏈式路由擴展 ICAP,來(lái)處理多(duo)多個(gè)適應性服務(wù)(′?_?`)。支持 ICY 流式協(xié)議 ??8211; 俗稱(chēng) SHOUTcast 多媒體流動(dòng)態(tài) SSL 證書(shū)生成支持 ICAP 協(xié)議 (Internet Cont(′ω`)ent Ad( ?ヮ?)aptation Protocol)完整的請求日志記錄匿名連接網(wǎng)站:www.ヾ(^-^)ノsquidヽ(′ー`)ノ-cache.org[1]開(kāi)發(fā): 美國國家應用網(wǎng)絡(luò )研究實(shí)驗室(NLANR)和網(wǎng)絡(luò )志愿者授權: GNU GPL v2版本號: 4.0.1Privoxy
Privoxy (Privacy Enhancing Proxy) 是一個(gè)非緩存類(lèi) Web 代理軟件,它自帶的高級過(guò)濾功能可以用來(lái)增強隱私保護、修改頁(yè)面內容和?? HTTP 頭部信息、訪(fǎng)問(wèn)控制,以及去(′?ω?`)除廣告和其它招人反感的互聯(lián)網(wǎng)垃圾。Privoxy 的配置非常靈活,能充分定制已滿(mǎn)足各種各樣的需求和偏好。它??支持單機和多用戶(hù)網(wǎng)絡(luò )兩種模式。
Privoxy 使用 action 規則來(lái)處理瀏覽器和遠程站點(diǎn)間的數據流。
其特性包括:
高度配置化——可以完全定制你的配置廣告攔截Cook(′_`)ie 管理支持“Connec(′?`)tion: keep-alive”??梢詿o(wú)視客戶(hù)端配置而保持外發(fā)的持久連接支持 IPv6,允許按照客戶(hù)端和服務(wù)器的請求頭進(jìn)行處理作為代理器運行巧妙的和過(guò)濾機制用來(lái)處理??服務(wù)器和客戶(hù)端的 HTTP 頭部可以與其他代理軟件??鏈式使用整合了基于瀏覽器的配置和控制工具,能在線(xiàn)跟蹤規則和過(guò)濾效果,可遠(yuan)程開(kāi)??關(guān)頁(yè)面過(guò)濾(文本替換、根據尺寸大小刪除廣告(???)欄, 隱藏的“web-bugs”元素和 HTML 容錯等)模塊化的配置使得標準配置和用戶(hù)配置可以存放于不同文件(╬?益?)中,這樣??安裝更新就不會(huì )覆蓋用戶(hù)的個(gè)性化設置配置文件支持 Perl 兼容的正則表達式,以及更(geng)為精妙和靈活的配置語(yǔ)法GIF 去動(dòng)畫(huà)旁路處理大量腳本(避免腳本重定向)大多數代理生成的頁(yè)面(例如 “訪(fǎng)問(wèn)受限( ?▽?)” 頁(yè)面)可由用戶(hù)自定義HTML模板自動(dòng)監測配置文件的修改并重新讀取大多數功能可以基于每個(gè)站點(diǎn)或每個(gè) URL 位置來(lái)進(jìn)行控制網(wǎng)站:www.privoxy.org[2]開(kāi)發(fā): Fabian Keil(開(kāi)發(fā)領(lǐng)導者), David Schmidt, 和眾多其他貢獻者授權: GNU GPL v2版本號: 3.4.2Varnish Cache
Varnish Cache 是一個(gè)為性能和靈活性而生的 web 加速器。它新穎的(′;ω;`)(de)架構設計能帶來(lái)顯著(zhù)的性能提(ti)升。根據你的架構,通常情況下它能加速響應速度??300-1000倍。Varnish 將頁(yè)面存儲到內存,這樣 web 服務(wù)??器就無(wú)需重復地創(chuàng )建相同的頁(yè)面,只需要在頁(yè)面發(fā)生變化后重新生成。頁(yè)面內容直接從內存中訪(fǎng)問(wèn),當然比其他方式更快。
按經(jīng)驗,V(′?`*)arnish Cache 比較經(jīng)濟的配置是1-16GB內存+ SSD 固態(tài)硬盤(pán)。
其特性包括:
新穎的設計VCL – 非常靈活的配置語(yǔ)言。VCL 配置會(huì )轉換成 C,然后編??譯、加載、運行,靈活且高效能使用 round-robin 輪詢(xún)和隨機分發(fā)兩種方式??來(lái)負載均衡,兩種方式下后端服務(wù)器都可以設置權重基于 DNS、隨機、散列和客戶(hù)(′ω`)端 IP 的多臺后端主機間的負載均衡支持 Edge Side Includes,包括拼裝壓縮后的 ESI 片段重度多(duo)線(xiàn)程并發(fā)URL 重寫(xiě)單 Varnish 能(neng)夠緩存多個(gè)虛擬主機日志數據存儲在共享內存中基本的后端服務(wù)器健康檢查優(yōu)雅地處理后端服務(wù)器“掛掉”命令行界面的管理控制臺使用內聯(lián) C 語(yǔ)言來(lái)擴展 Varnish可以與 Apache 用在相同的系統上單個(gè)系統ヽ(′▽?zhuān)?/可運行多個(gè) Varnish支持 HAProxy 代理協(xié)??議。該協(xié)議在每個(gè)收到的 TCP(╥_╥) 請求——例如 SSL 終止過(guò)程中——附加一小段?? http 頭信息,以記錄客戶(hù)端的真實(shí)地址冷熱 VCL 狀態(tài)可以用名為 VMOD 的 Varnish 模塊來(lái)提供插件擴展通過(guò) VMOD 定義后端主機Gzi??p 壓縮及解壓HTT┐(′ー`)┌P 流的通過(guò)和獲取神圣模式和優(yōu)雅模式。用 Varnish 作為負載均衡??器,神圣模式下可(ke)以將不穩定的后端服務(wù)器在一段時(shí)間內打入黑名單,阻止它們繼續提供流量服務(wù)。優(yōu)雅模式允許 Varnish 在獲取不到后端服務(wù)器狀態(tài)良好的響應時(shí),提供已過(guò)期版本的頁(yè)面或其它內容。實(shí)驗性支持持久化存儲,無(wú)需 LRU 緩存淘(?????)汰網(wǎng)站:www.varnish-cache.org[3]開(kāi)發(fā): Varnish Software授權: FreeBSD版本??號: 4.1.0Polipo
Polipo 是一個(gè)開(kāi)源的 HTTP 緩存代理,只需要非常低??的資源開(kāi)銷(xiāo)。
它監聽(tīng)來(lái)自瀏覽器的 web 頁(yè)面請求,轉發(fā)到 web 服務(wù)器,然后將服務(wù)器的響應轉發(fā)到瀏覽??器。在此過(guò)程中,它能優(yōu)化和整形(xing)網(wǎng)絡(luò )流量。從本質(zhì)來(lái)講 Polipo 與 WWWOFFLE 很相似,但其實(shí)??現技術(shù)更接近于 Squid。
Polipo 最(zui)開(kāi)始的目標是作為一個(gè)兼容 HTTP/1.1 的代理,理論它能在任何兼容 HTTP/1.1 或更早的 HTTP/1.0 的站點(diǎn)上運行。
其特性包括:
HTTP 1.1、IPv4 & IPv6、流量過(guò)濾和隱私保護增強如確認遠程服務(wù)器支持的話(huà),則無(wú)(wu)論收到的請求是管道處理過(guò)的還是在多個(gè)連接上同(?⊿?)時(shí)(′;д;`)收到的,都使用 HTTP/1.1下載被中斷時(shí)緩存起始部分,當需要續傳時(shí)用請求來(lái)完成下載將 HTTP/1.0 的客戶(hù)端請求升級為 HTTP/1.1,然后按照客戶(hù)端支持的級別進(jìn)行升級或降級后回復全面支持 IPv6 (作用域(鏈路本地)地址除外)作為 IPv4 和 IPv6 網(wǎng)絡(luò )的網(wǎng)橋內容過(guò)??濾能使用降低延遲支持 SOCKS 4 和 SOCKS 5 協(xié)議HTTPS 代理扮演透明代理的角色可以與 Privoxy 或 tor 一起運行網(wǎng)站:www.pps.univ-paris-diderot.fr/~jch/software/polipo/[4]開(kāi)發(fā)(fa): Juliusz Chroboczek, Christoˉ\_(ツ)_/ˉpher Davis授權: MIT License版本號: 1.1.1Tinyproxy
Tinyproxy 是一個(gè)輕量級的開(kāi)源 web 代理守護進(jìn)程,其設計目標是快而小。它適用于需要完整 HTTP 代理特性,但系統資源又不足以運行大型代理的場(chǎng)景,比如嵌入式(′-ι_-`)部署。
Tinyp(╯‵□′)╯roxy 對小規模網(wǎng)絡(luò )非常有用,這樣的場(chǎng)合下大型代理會(huì )┐(′д`)┌使系統資源緊張,或有安全風(fēng)險。Tinyproxy 的一個(gè)關(guān)鍵特性是其緩沖連接的理念。從效果上看, Tinyproxy 對服務(wù)器的響應進(jìn)行了高速緩沖,然后按照客戶(hù)端能夠處???理的最高速度進(jìn)行響應。該特性極大的降低了網(wǎng)絡(luò )延滯帶來(lái)的問(wèn)題。
特性:
易于修改隱匿模式 – 定義哪些 HTTP 頭允許通過(guò),哪些又會(huì )被攔截支持 HTTPS – Ti??nyproxy 允許通過(guò) CONNECT(???) 方法轉發(fā) HTTPS 連接,任何情況下都不會(huì )修改數據流量遠程監控 – 遠程訪(fǎng)問(wèn)代理統計數據,讓你能清楚了解代(dai)理服務(wù)當前的忙碌狀態(tài)平均負載監控 – 通過(guò)配置,當服務(wù)器的負載接近一定值后拒絕新連接訪(fǎng)問(wèn)控制 – 通過(guò)配置,僅允許指定子網(wǎng)或 IP 地址的訪(fǎng)問(wèn)安全 – 運行無(wú)需額外權限,減小了系統受到威脅的概率基于 URL 的過(guò)濾 – 允許基于域和URL的黑白名單透明(ming)代理 – 配置為透明代理,這樣客戶(hù)端就無(wú)需任何配置代理鏈 – 在流量出口處采用上游代??理服務(wù)器,而不是直接轉發(fā)到目標服務(wù)器,創(chuàng )建我們所說(shuō)的代理鏈隱私特性 – 限制允許從瀏覽器收到的來(lái)自 HTTP 服務(wù)器的數據(例如 cookies),同時(shí)限制允許通過(guò)的從瀏覽器到 HTTP 服務(wù)器的數據(例如版本信息)??低開(kāi)??銷(xiāo) – 使用 glibc 內存開(kāi)銷(xiāo)只有2MB,CPU 負載按并發(fā)連接數線(xiàn)性增長(cháng)(取決于網(wǎng)絡(luò )連接速度(╯‵□′)╯)。 Tinyproxy(′?`) 可以運行在老舊的機器上而無(wú)需擔心性能問(wèn)題。網(wǎng)站:banu.com/tinyproxy[5]開(kāi)發(fā): Robert James Kae(′?_?`)s和其他貢獻者授權: GNU GPL v2版本號: 1.8.3