天天看點

linux反向代理

在配置nginx反向代理之間我們得先準備兩台測試伺服器,Web1與Web2。

1.安裝httpd

[root@web1 ~]# yum install -y httpd

[root@web2 ~]# yum install -y httpd

2.提供測試頁面

[root@web1 ~]# echo "<h1>web1.test.com</h1>" > /var/www/html/index.html

[root@web2 ~]# echo "<h1>web2.test.com</h1>" > /var/www/html/index.html

3.啟動httpd服務

[root@web1 ~]# service httpd start

正在啟動 httpd:                                           [确定]

[root@web2 ~]# service httpd start

4.測試一下

linux反向代理

5.簡單說一下,正向代理與反向代理

(1).正向代理的概念

       正向代理,也就是傳說中的代理,他的工作原理就像一個跳闆,簡單的說,我是一個使用者,我通路不了某網站,但是我能通路一個代理伺服器,這個代理伺服器呢,他能通路那個我不能通路的網站,于是我先連上代理伺服器,告訴他我需要那個無法通路網站的内容,代理伺服器去取回來,然後傳回給我。從網站的角度,隻在代理伺服器來取内容的時候有一次記錄,有時候并不知道是使用者的請求,也隐藏了使用者的資料,這取決于代理告不告訴網站。

       結論就是,正向代理 是一個位于用戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得内容,用戶端向代理發送一個請求并指定目标(原始伺服器),然後代理向原始伺服器轉交請求并将獲得的内容傳回給用戶端。用戶端必須要進行一些特别的設定才能使用正向代理。

(2).反向代理的概念

繼續舉例:   

       例使用者通路 http://www.test.com/readme,但www.test.com上并不存在readme頁面,他是偷偷從另外一台伺服器上取回來,然後作為自己的内容傳回使用者,但使用者并不知情。這裡所提到的 www.test.com 這個域名對應的伺服器就設定了反向代理功能。

       結論就是,反向代理正好相反,對于用戶端而言它就像是原始伺服器,并且用戶端不需要進行任何特别的設定。用戶端向反向代理的命名空間(name-space)中的内容發送普通請求,接着反向代理将判斷向何處(原始伺服器)轉交請求,并将獲得的内容傳回給用戶端,就像這些内容原本就是它自己的一樣。

(3).兩者差別

從用途上來講:

       正向代理的典型用途是為在防火牆内的區域網路用戶端提供通路Internet的途徑。正向代理還可以使用緩沖特性減少網絡使用率。反向代理的典型用途是将防火牆後面的伺服器提供給Internet使用者通路。反向代理還可以為後端的多台伺服器提供負載平衡,或為後端較慢的伺服器提供緩沖服務。另外,反向代理還可以啟用進階URL政策和管理技術,進而使處于不同web伺服器系統的web頁面同時存在于同一個URL空間下。

從安全性來講: