nginx反向代理與正向代理 1 正向代理 3 正反向代理的區別 4 nginx的正向代理 5 nginx的反向代理配置 參考文章 : https://blog.csdn.net/hiyun9/article/details/51602428 非常感謝 ...
nginx反向代理與正向代理
1 正向代理
正向代理: 原因是 客戶端 ---X--- 網站,客戶端不能直接訪問某個網站
解決: 客戶端 ----> 代理伺服器(發起訪問請求) ----> 某個想要訪問的網站
客戶端 <---- 代理伺服器(響應的內容) <---- 某個想要訪問的網站
結論: 正向代理實質就是位於客戶端(client)與初始伺服器(origin server)之間的伺服器,為從原始服 務器獲取內容 ,客戶端向一個可以訪問的代理伺服器發起自己的請求並指向目標網站伺服器,然後代理服務 器轉交請求並將獲取的內容返回給客戶端.因此客戶端必須進行一些特別的設置才能使用正向代理.
正向代理的配置:
1 客戶端必須設置正向代理伺服器,前提是要知道正向代理伺服器的IP地址,還有代理程式的埠。
2 http://www.ccproxy.com/ 下載一個CCproxy,需要在瀏覽器中配置代理伺服器地址
3 選擇Internet選項,選擇連接 區域網設置LAN(設置)
4 選擇跳過本地地址代理伺服器,在高級中設置代理伺服器IP及埠
2 反向代理
反向代理: 客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者者並不知道自己訪問的是一個代理。因為 客戶端不需要任何配置就可以訪問。
原因是:
客戶端---->某網站資源http://like.me/good [實質上伺服器並不存在good頁面實際內容,但客戶不知情]
於是乎某網站http://like.me(發起請求)----->向另一臺存有good頁面實際內容伺服器[響應實際的頁面內容]
----->返迴響應給某網站http://like.me -----> 響應出頁面內容給客戶
整個過程客戶端以為只以為內容是該網站的,但實際上該網站伺服器也是轉發的
結論: 反向代理與正向代理恰好相反, 對於客戶端而言該伺服器就像原始伺服器,因為客戶端不需要進行任何的設置就能使用,客戶端向反向代理命名空間發起網路請求,實際上反向代理立馬轉發☞原始伺服器,原始伺服器將響應內容傳遞給反向代理伺服器,再由伺服器發給客戶端.就好像內容是自己的一樣.
3 正反向代理的區別
正向代理用途:
1 為在防火牆內的區域網客戶端提供訪問Internet的途徑,如google網站
2 可以做緩存,加速訪問資源
3 對客戶端訪問授權,上網進行認證
4 代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息
反向代理用途:
1 保證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊大型網站,通常將反向代理作為公網訪問地址,Web伺服器是內網。
2 負載均衡,通過反向代理伺服器來優化網站的負載,反向代理伺服器根據每個伺服器的性能來分配請求,保證伺服器的負載能在有效的範圍內
3 正向代理中,代理伺服器proxy與client同屬於一個LAN區域網,對server透明
反向代理中,代理伺服器proxy與server同屬一個LAN區域網,對client透明
4 nginx的正向代理
nginx接受來自客戶端的大量訪問進行平均分發到後端多個伺服器進行處理,單個nginx伺服器可支持過萬的併發量,很好的解決高併發的web類訪問,同時通過nginx服務可以做到內網與外網的物理隔離.
nginx伺服器配置:
1 Nginx server:(例如: 內網地址:10.0.0.136,外網地址:172.16.27.64)
2 使用VirtualBox Manager虛擬出雙網卡,ifconfig查看ip
3 cat zxproxy.conf進行編輯
nginx-clicent配置:
1 client無法訪問內網網卡,通過nginx server去訪問internet
2 export http_proxy=http://10.0.0.136:80 #設定環境變數,指定代理伺服器的ip及埠
3 在進行訪問就可以通過代理伺服器了
5 nginx的反向代理配置
nginx支持配置反向代理,通過反向代理實現網站的負載均衡,負載均衡伺服器代理多台伺服器,更註重均衡轉發功能.
1 配置文件複製一份zxproxy.conf
2 cat fxproxy.conf 修改配置文件
代理多個web伺服器:
參考文章 : https://blog.csdn.net/hiyun9/article/details/51602428 非常感謝