深度詳解什么是Nginx正向代理與反向代理
正向代理和反向代理的概念
1、正向代理
它的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網(wǎng)站,但是我能訪問一個代理服務器,這個代理服務器呢,他能訪問那個我不能訪問的網(wǎng)站,于是我先連上代理服務器,告訴他我需要那個無法訪問網(wǎng)站的內(nèi)容,代理服務器去取回來,然后返回給我,從網(wǎng)站的角度,只在代理服務器來取內(nèi)容的時候有一次記錄,有時候并不知道是用戶的請求,也隱藏了用戶的資料,這取決于代理告不告訴網(wǎng)站。
結(jié)論就是 :
正向代理 是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(原始服務器),然后代理向原始服務器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端??蛻舳吮仨氁M行一些特別的設置才能使用正向代理。就像要訪問google用vpn代理翻墻去訪問(用戶知道要訪問真正的服務器)
2、反面代理
反向代理:例用戶訪問 https://www.baidu.com/readme
但https://www.baidu.com上并不存在readme頁面,他是偷偷從另外一臺服務器上取回來,然后作為自己的內(nèi)容吐給用戶,但用戶并不知情,這里所提到的 https://www.baidu.com 這個域名對應的服務器就設置了反向代理功能。
結(jié)論就是:
反向代理正好相反,對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理 的命名空間(name-space)中的內(nèi)容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務器)轉(zhuǎn)交請求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容 原本就是它自己的一樣。(用戶不知道要訪問真正的服務器)
以租房為例解釋正向代理和反向代理?
客戶端 <一> 代理 <一>服務端
A租房人(客戶端),B房產(chǎn)中介(代理),C真實房東(服務端)
1、正向代理
A租房人(客戶端)想租C真實房東的房子,但不認識C真實房東(服務端
B房產(chǎn)中介(代理)認識C真實房東(服務端),并且從C真實房東(服務端)租到了房
A租房人(客戶端)通過B房產(chǎn)中介(代理)租到了C真實房東(服務端)的房
C真實房東(服務端)只知道房子租給了B房產(chǎn)中介(代理),并不知道A租房人(客戶端)租了自己的房子
2、反向代理
A租房人(客戶端)要租B房產(chǎn)中介(代理)的房
B房產(chǎn)中介(代理)從C真實房東(服務端)手里租了A租房人(客戶端)想要租的房
A租房人(客戶端)不知道這套房子真實房東是C真實房東(服務端)
C真實房東(服務端)不知道自己的房子被A租房人(客戶端)租住
正向代理和反向代理配置
1、正向向代理配置
問A服務器的ip不是118.126.106.11(B代理服務器)則返回403
B服務器(代理服務器)/etc/nginx/conf.d/default.conf。添加resolver和proxy_pass,設置如下
2、反向代理配置
首先在/etc/nginx/conf.d/下新建一個test.conf
可以看到我server里listen的8080端口,但是我的服務器本身不對外開放8080端口,只開放了80端口。所以此時訪問test.html是訪問不到的
然后我們打開/etc/nginx/conf.d/default.conf 添加proxy_pass設置如下
設置當匹配test.html結(jié)尾的URL時就去代理訪問本機的8080端口。注釋掉,然后直接80端口訪問以下test.html,是無法正問訪問的
把標紅處設置代理的內(nèi)容釋放掉后,就可以正常訪問到test.html文件了,即此時便可訪問8080端口配置的資源。
以上便是完成了一個反向代理的演示,這個過程中我們可以知道,客戶端想要訪問的是test.html,但是test.html實際上是8080端口下配置的,中間經(jīng)過了代理才能拿到。也就是客戶端并不知道中間經(jīng)歷了什么代理過程,只有服務端知道??蛻舳酥恢浪玫搅藅est.html也就是8080端口下配置的資源內(nèi)容。
正向代理的代理對象時客戶端,反向代理的代理對象時服務端。代理服務器站在客戶端那邊就是正向代理,代理服務器站在原始服務器那邊 就是反向代理。nginx通過proxy_pass可以設置代理服務。
到此這篇關(guān)于深度詳解什么是Nginx正向代理與反向代理的文章就介紹到這了,更多相關(guān)Nginx正向代理與反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx正則表達式相關(guān)的參數(shù)和規(guī)則介紹
這篇文章主要給大家介紹了關(guān)于Nginx正則表達式相關(guān)的參數(shù)和規(guī)則的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nginx正則表達式具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2020-05-05nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明
這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01centos7系統(tǒng)下nginx安裝并配置開機自啟動操作
這篇文章主要介紹了centos7系統(tǒng)下nginx安裝并配置開機自啟動操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02Nginx配置動態(tài)代理后通過curl訪問報403問題
本文主要介紹了Nginx配置動態(tài)代理后通過curl訪問報403問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06