利用squid反向代理提高網(wǎng)站性能 |
發(fā)布時間: 2012/5/15 18:26:54 |
本文在介紹 squid 反向代理的工作原理的基礎上,指出反向代理技術在提高網(wǎng)站訪問速度,增強網(wǎng)站可用性、安全性方面有很好的用途。作者在具體的實驗環(huán)境下,利用 DNS 輪詢和 Squid 反向代理技術,實現(xiàn)了網(wǎng)站的負載均衡,從而提高了網(wǎng)站的可用性和可靠性。 本文在介紹 squid 反向代理的工作原理的基礎上,指出反向代理技術在提高網(wǎng)站訪問速度,增強網(wǎng)站可用性、安全性方面有很好的用途。作者在具體的實驗環(huán)境下,利用 DNS 輪詢和 Squid 反向代理技術,實現(xiàn)了網(wǎng)站的負載均衡,從而提高了網(wǎng)站的可用性和可靠性。 現(xiàn)在有許多大型的門戶網(wǎng)站如 SINA 都采用 squid 反向代理技術來加速網(wǎng)站的訪問速度,可將不同的 URL 請求分發(fā)到后臺不同的 WEB 服務器上,同時互聯(lián)網(wǎng)用戶只能看到反向代理服務器的地址,加強了網(wǎng)站的訪問安全。 反向代理服務器又稱為 WEB 加速服務器,它位于 WEB 服務器的前端 反向代理服務器是針對 WEB 服務器設置的,后臺 WEB 服務器對互聯(lián)網(wǎng)用戶是透明的,用戶只能看到反向代理服務器的地址,不清楚后臺 WEB 服務器是如何組織架構的。當互聯(lián)網(wǎng)用戶請求 WEB 服務時,DNS 將請求的域名解析為反向代理服務器的 IP 地址,這樣 URL 請求將被發(fā)送到反向代理服務器,由反向代理服務器負責處理用戶的請求與應答、與后臺 WEB 服務器交互。利用反向代理服務器減輕了后臺 WEB 服務器的負載,提高了訪問速度,同時避免了因用戶直接與 WEB 服務器通信帶來的安全隱患。 目前有許多反向代理軟件,比較有名的有 Nginx 和 Squid 。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發(fā)的,是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。
客戶端請求訪問 WEB 服務時,DNS 將訪問的域名解析為 Squid 反向代理服務器的 IP 地址,這樣客戶端的 URL 請求將被發(fā)送到反向代理服務器。如果 Squid 反向代理服務器中緩存了該請求的資源,則將該請求的資源直接返回給客戶端,否則反向代理服務器將向后臺的 WEB 服務器請求資源,然后將請求的應答返回給客戶端,同時也將該應答緩存在本地,供下一個請求者使用。 Squid 反向代理一般只緩存可緩沖的數(shù)據(jù)(比如 html 網(wǎng)頁和圖片等),而一些 CGI 腳本程序或者 ASP、JSP 之類的動態(tài)程序默認不緩存。它根據(jù)從 WEB 服務器返回的 HTTP 頭標記來緩沖靜態(tài)頁面。有四個最重要 HTTP 頭標記:
本實例的域名是 wenjin.cache. 本文出自:億恩科技【www.cmtents.com】 |