官术网_书友最值得收藏!

4.4.2 反向代理

反向代理是指用代理服務器來接收Internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給Internet上請求連接的客戶端的過程。此時,代理服務器對外就表現為一個服務器。例如,客戶端訪問http://zachary.sh.cn/demo,但是zachary.sh.cn上不存在demo頁面,于是zachary.sh.cn反向代理到其他服務器讀取到demo頁面,然后將其作為自己的內容返回給用戶,用戶此時并不知道內容不是zachary.sh.cn的。

077-1

圖4-5 Nginx正向代理流程圖

反向代理服務器對于客戶端而言是原始服務器,客戶端向反向代理的命名空間中的內容發送普通請求,由反向代理服務器判斷向何處(原始服務器)轉交請求,并將獲得的內容返回給客戶端。

反向代理訪問zachary.sh.cn的過程,如圖4-6所示。

077-2

圖4-6 Nginx反向代理流程圖

如圖4-6所示,zachary.sh.cn服務器上沒有demo相關頁面,于是zachary.sh.cn服務器反向代理到Static服務器上并返回頁面相關信息。工作流程如下:

1)用戶通過域名發出訪問Web服務器的請求,該域名被DNS服務器解析為反向代理服務器的IP地址;

2)反向代理服務器接受用戶的請求;

3)反向代理服務器在本地緩存中查找請求的內容,找到后直接把內容發送給用戶;

4)如果本地緩存里沒有用戶所請求的信息內容,反向代理服務器會代替用戶向源服務器請求同樣的信息內容,并把信息內容發給用戶。如果信息內容是在本地緩存中,則還會把它保存到緩存中。

代理服務器只用于代理內部網絡對Internet外部網絡的連接請求,客戶機必須指定代理服務器,并將本來要直接發送到Web服務器上的HTTP請求發送到代理服務器中。不支持外部網絡對內部網絡的連接請求,因為內部網絡對外部網絡是不可見的。一個代理服務器若能夠代理外部網絡上的主機訪問內部網絡時,這種代理服務的方式就稱為反向代理服務。此時代理服務器對外就表現為一個Web服務器,外部網絡就可以簡單把它當作一個標準的Web服務器而不需要特定的配置。不同之處在于,這個服務器沒有保存任何網頁的真實數據,所有的靜態網頁或者CGI程序都保存在內部的Web服務器上。因此對反向代理服務器的攻擊并不會使得網頁信息遭到破壞,這樣就提高了Web服務器的安全性。

主站蜘蛛池模板: 新晃| 高安市| 白山市| 澳门| 乐至县| 游戏| 万年县| 团风县| 凤凰县| 博乐市| 苏州市| 平武县| 武邑县| 邓州市| 沁阳市| 台中市| 贡嘎县| 应用必备| 吉木萨尔县| 修水县| 阿合奇县| 浮梁县| 荆门市| 台州市| 新平| 读书| 吴忠市| 育儿| 建阳市| 朔州市| 郴州市| 乌拉特前旗| 邮箱| 大厂| 和田市| 军事| 广汉市| 滨海县| 京山县| 确山县| 井陉县|