首頁  >  文章  >  後端開發  >  nginx 反向代理和正向代理區別

nginx 反向代理和正向代理區別

WBOY
WBOY原創
2016-07-29 09:00:391273瀏覽

一直對反射代理的反向不知道如何理解,經過百度知道,再結合下面這幅圖,總算弄清楚一點了。簡單的說從一個區域網路出來到服務端為正向,從客戶端要進入一個區域網路為反向。
概念:
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果傳回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。
概述:
通常的代理伺服器,只用於代理內部網路對Internet的連接請求,客戶機必須指定代理伺服器,並將本來要直接發送到Web伺服器上的http請求發送到代理伺服器中。由於外部網路上的主機並不會配置並使用這個代理伺服器,普通代理伺服器也被設計為在互聯網上搜尋多個不確定的伺服器,而不是針對Internet上多個客戶機的請求訪問某一個固定的伺服器,因此普通的Web代理伺服器不支援外部對內部網路的存取請求。當一個代理伺服器能夠代理外部網路上的主機,存取內部網路時,這種代理服務的方式稱為反向代理服務。此時代理伺服器對外就表現為一個Web伺服器,外部網路就可以簡單把它當作一個標準的Web伺服器而不需要特定的設定。不同之處在於,這個伺服器沒有保存任何網頁的真實數據,所有的靜態網頁或CGI程序,都保存在內部的Web伺服器上。因此對反向代理伺服器的攻擊並不會使得網頁資訊遭到破壞,這樣就增強了Web伺服器的安全性。
反向代理方式和包過濾方式或普通代理方式並無衝突,因此可以在防火牆設備中同時使用這兩種方式,其中反向代理用於外部網絡訪問內部網絡時使用,正向代理或包過濾方式用於拒絕其他外部存取方式並提供內部網路對外部網路的存取能力。因此可以結合這些方式提供最佳的安全存取方式。
為何叫反向:
但這也沒辦法解釋為何他叫反向,從原理上來說.代理伺服器都是處理來自客戶端的請求,並將其轉發到目的伺服器上,所以代理伺服器的工作並沒有任何反向的意味,而下面這張圖就能說明為何反向代理叫反向:
nginx 反向代理和正向代理区别

<code>  对了,从结构上来看,正向代理和反向代理的左右两边换了一下,原本代理服务器的客户端来自内网.其和代理服务器组成一个LAN,而反向代理之后.代理服务器和服务器组成了一组.所以从结构来看,是reverse的,从英文的角度来看,reverse这个词包含翻转的意思,其意思就是指结构图上的这种反转,但是由于翻译的关系.到了中文变成反向代理.其实proxy并没有做和以前有什么不同的事情.它仍旧是将来自客户端的请求转发给实际端.,而时至今日,由于CDN的大量使用,反向代理后面的服务器为了适应这种跨网络的架构,而均采用实际IP地址.这样就往往更不容易使得大家对”反向代理这个名词中的反向到底指什么”这个问题有个清晰的答案了。
</code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介紹了nginx 反向代理和正向代理區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn