利用 squid 反向代理提高網站性能

來源:本站原創 Linux 超過623 views圍觀 0條評論

本文在介紹 squid 反向代理的工作原理的基礎上,指出反向代理技術在提高網站訪問速度,增強網站可用性、安全性方面有很好的用途。作者在具體的實驗環境下,利用 DNS 輪詢和 Squid 反向代理技術,實現了網站的負載均衡,從而提高了網站的可用性和可靠性。
本文在介紹 squid 反向代理的工作原理的基礎上,指出反向代理技術在提高網站訪問速度,增強網站可用性、安全性方面有很好的用途。作者在具體的實驗環境下,利用 DNS 輪詢和 Squid 反向代理技術,實現了網站的負載均衡,從而提高了網站的可用性和可靠性。

現在有許多大型的門戶網站如 SINA 都采用 squid 反向代理技術來加速網站的訪問速度,可將不同的 URL 請求分發到后臺不同的 WEB 服務器上,同時互聯網用戶只能看到反向代理服務器的地址,加強了網站的訪問安全。

??? 反向代理的概念

反向代理服務器又稱為 WEB 加速服務器,它位于 WEB 服務器的前端,充當 WEB 服

務器的內容緩存器。其系統結構如圖 1

圖 1. 系統結構

系統結構

反向代理服務器是針對 WEB 服務器設置的,后臺 WEB 服務器對互聯網用戶是透明的,用戶只能看到反向代理服務器的地址,不清楚后臺 WEB 服務器是如何組織架構的。當互聯網用戶請求 WEB 服務時,DNS 將請求的域名解析為反向代理服務器的 IP 地址,這樣 URL 請求將被發送到反向代理服務器,由反向代理服務器負責處理用戶的請求與應答、與后臺 WEB 服務器交互。利用反向代理服務器減輕了后臺 WEB 服務器的負載,提高了訪問速度,同時避免了因用戶直接與 WEB 服務器通信帶來的安全隱患。

Squid 反向代理的實現原理

目前有許多反向代理軟件,比較有名的有 Nginx 和 Squid 。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。

Squid 是由美國政府大力資助的一項研究計劃,其目的為解決網絡帶寬不足的問題,支持HTTP,HTTPS,FTP 等多種協議,是現在 Unix 系統上使用、最多功能也最完整的一套軟體。下面將重點介紹 Squid 反向代理的實現原理和在提高網站性能方面的應用。

Squid反向代理服務器位于本地 WEB 服務器和 Internet 之間 , 組織架構如圖 2:

圖 2. 組織架構

組織架構

客戶端請求訪問 WEB 服務時,DNS 將訪問的域名解析為 Squid 反向代理服務器的 IP 地址,這樣客戶端的 URL 請求將被發送到反向代理服務器。如果 Squid 反向代理服務器中緩存了該請求的資源,則將該請求的資源直接返回給客戶端,否則反向代理服務器將向后臺的 WEB 服務器請求資源,然后將請求的應答返回給客戶端,同時也將該應答緩存在本地,供下一個請求者使用。

Squid 反向代理一般只緩存可緩沖的數據(比如 html 網頁和圖片等),而一些 CGI 腳本程序或者 ASP、JSP 之類的動態程序默認不緩存。它根據從 WEB 服務器返回的 HTTP 頭標記來緩沖靜態頁面。有四個最重要 HTTP 頭標記:

●Last-Modified: 告訴反向代理頁面什么時間被修改
●Expires: 告訴反向代理頁面什么時間應該從緩沖區中刪除
●Cache-Control: 告訴反向代理頁面是否應該被緩沖
●Pragma: 用來包含實現特定的指令,最常用的是 Pragma:no-cache

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=928轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏