nginx反向代理和正向代理的差別是什麼?下面這篇文章就來跟大家介紹一下,希望對你們有幫助。
什麼是正向代理人?
正向代理程式是位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理程式傳送一個請求並指定目標(原始伺服器) ,然後代理程式向原始伺服器轉交請求並將獲得的內容傳回給客戶端。客戶端才能使用正向代理。
什麼是反向代理?
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果傳回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。
正向代理與反向代理的差異:(可以看下面的圖示來感受)
正向代理,架設在客戶機與目標主機之間,只用於代理內部網路對Internet的連接請求,客戶機必須指定代理伺服器,並將本來要直接發送到Web伺服器上的http請求發送到代理伺服器中。
正向代理程式是客戶端知道目的伺服器在哪裡,然後透過代理伺服器去存取客戶端不能直接存取的目標伺服器,而目標伺服器並不知道客戶端透過什麼來存取的。即正向代理代理的是客戶端 。
反向代理伺服器架設在伺服器端,透過緩衝經常被要求的頁面來緩解伺服器的工作量,將客戶機請求轉發給內部網路上的目標伺服器;並將從伺服器上得到的結果傳回給網際網路上請求連線的客戶端,此時代理伺服器與目標主機一起對外表現為一個伺服器。
反向代理程式中,外部網路對於內部網路具體的情況是不可見的,而代理伺服器來代理內部網路來傳回所要的資料(當然靜態檔案可以放在Nginx,這個靜動分離再說),而服務端知道請求的來源以及資料。反向代理代理的是服務端 。
以上是nginx反向代理和正向代理的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!