Nginx 正向代理與反向代理

2021-02-19 PHP開發者

(給PHP開發者加星標,提升PHP技能)

轉自:Dale工作學習筆記

https://www.cnblogs.com/anker/p/6056540.html

1、前言

最近工作中用到反向代理,發現網絡代理的玩法還真不少,網絡背後有很多需要去學習。而在此之前僅僅使用了過代理軟體,曾經為了訪問google,使用了代理軟體,需要在瀏覽器中配置代理的地址。我只知道有代理這個概念,並不清楚代理還有正向和反向之分,於是趕緊學習一下,補充一下知識。首先弄清楚什麼是正向代理,什麼是反向代理,然後是二者在實際使用中展示的方式是什麼樣的,最後總結一下正向代理用來做什麼,反向代理可以做什麼。

2、正向代理

正向代理類似一個跳板機,代理訪問外部資源。

舉個例子:

我是一個用戶,我訪問不了某網站,但是我能訪問一個代理伺服器,這個代理伺服器呢,他能訪問那個我不能訪問的網站,於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。

客戶端必須設置正向代理伺服器,當然前提是要知道正向代理伺服器的IP位址,還有代理程序的埠。

例如之前使用過這類軟體例如CCproxy,http://www.ccproxy.com/ 需要在瀏覽器中配置代理的地址。

總結來說:正向代理 是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

  

正向代理的用途:

  (1)訪問原來無法訪問的資源,如google

       (2)可以做緩存,加速訪問資源

  (3)對客戶端訪問授權,上網進行認證

  (4)代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息

例如CCProxy用途:

3、反向代理

初次接觸方向代理的感覺是,客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者者並不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。

反向代理(Reverse Proxy)實際運行方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網絡上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。

反向代理的作用:

(1)保證內網的安全,可以使用反向代理提供WAF功能,阻止web攻擊

大型網站,通常將反向代理作為公網訪問地址,Web伺服器是內網。

(2)負載均衡,通過反向代理伺服器來優化網站的負載

4、二者區別

借用知乎兩張圖來表達:https://www.zhihu.com/question/24723688

5、nginx的反向代理

 nginx支持配置反向代理,通過反向代理實現網站的負載均衡。這部分先寫一個nginx的配置,後續需要深入研究nginx的代理模塊和負載均衡模塊。

nginx通過proxy_pass_http 配置代理站點,upstream實現負載均衡。

- EOF -

看完本文有收穫?請分享給更多人

關注「PHP開發者」加星標,提升PHP技能


點讚和在看就是最大的支持❤️

相關焦點

  • Nginx 學習 —— 正向代理與反向代理
    1、正向代理和反向代理的概念無論是正向代理,還是反向代理,說到底,就是代理模式的衍生版本罷了。我們都學習過代理設計模式,都知道代理模式中有代理角色和被代理角色,為什麼這麼說,因為這兩個角色對於我們理解正向和反向代理非常重要,下面會講到。
  • 代理技術 | 重磅,代理伺服器背後的故事(正向、反向代理)
    傳說中的代理服務技術是一門很古老的技術,網際網路早期就已經出現,一般來說,實現實現代理技術的實現就是在伺服器上安裝代理軟體,成為代理伺服器,從而配置\實現代理技術。    其實網絡代理的玩法真的很多。之前知道如何使用,今天我們看看代理背後的故事。    我們以nginx為例,常用的代理技術有:正向代理、反向代理和透明代理。
  • Nginx的 反向代理 究竟怎麼理解?
    1.1反向代理正向代理正向代理:區域網中的電腦用戶想要直接訪問網絡是不可行的,只能通過代理伺服器來訪問,這種代理服務就被稱為正向代理。反向代理反向代理:客戶端無法感知代理,因為客戶端訪問網絡不需要配置,只要把請求發送到反向代理伺服器
  • CentOS 配置 Nginx 反向代理
    導讀Nginx作為反向代理伺服器被廣泛使用在各大網際網路企業。它簡單易用,可以根據業務的需求將其不同的業務類型代理至不同的伺服器,將整個站點請求壓力按類型分攤到不同的伺服器。該方式使的整個站點請求性能得以極大的提升。本文簡要描述了Nginx幾種不同情形的代理演示,供大家參考。
  • Nginx反向代理伺服器
    Nginx (engine x) 是一個高性能的HTTP和反向代理web伺服器,其特點:1.穩定性極強2.Nginx提供了非常豐富的配置實例
  • 深入淺出反向代理 Web 伺服器Nginx
    反向代理伺服器?經常聽人說到一些術語,如反向代理,那麼什麼是反向代理,什麼又是正向代理呢?正向代理:正向代理示意圖反向代理:反向代理示意圖由於防火牆的原因,我們並不能直接訪問谷歌,那麼我們可以藉助VPN來實現,這就是一個簡單的正向代理的例子。
  • 13.nginx高級配置--反向代理
    一、什麼是代理    Nginx 伺服器的反向代理服務是其最常用的重要功能,由反向代理服務也可以衍生出很多與此相關的 Nginx 伺服器重要功能,比如負載均衡。本篇文章我們主要介紹 Nginx 的反向代理,當然在了解反向代理之前,我們需要先知道什麼是代理以及什麼是正向代理。  1.1 什麼是代理?
  • Nginx實現反向代理
    反向代理:在收到客戶端請求之後,會修目標IP位址和埠正向代理:在收到客戶端請求之後,會修源IP位址和埠上遊伺服器:代理伺服器後端的哪些真正給客戶端提供服務的節點
  • 正向代理、反向代理、Nginx負載均衡方式
    於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。
  • Nginx配置反向代理,一篇搞定!
    一、引言其他話不多說,下面來學習一下 Nginx 的反向代理。需要有 Linux 和 Nginx 環境。二、何為反向代理?在介紹反向代理之前,先來了解一下正向代理。正向代理: 如果把區域網外的 Internet 想像成一個巨大的資源庫,則區域網中的客戶端要訪問 Internet,則需要通過代理伺服器來訪問,這種代理服務就稱為正向代理。下面是正向代理的原理圖。
  • Nginx 反向代理簡單使用
    安裝nginx第一步 下載 nginx第三步 配置nginx信息cd nginx-1.19.0./configure --prefix=/usr/local/nginx/sbin/nginx -?./sbin/nginx./sbin/nginx -c /tmp/nginx.conf./sbin/nginx -p /usr/local/nginx/./sbin/nginx -s stop./sbin/nginx -s quit./sbin/nginx -s reload./sbin/nginx -s reopen.
  • 深入淺出反向代理伺服器「Nginx」
    Nginx ("engine x") 是一個高性能的HTTP和反向代理伺服器,特點是佔有內存少,並發能力強,事實上nginx的 並發能力確實在同類型的網頁伺服器中表現較好,中國 大陸使用nginx網站用戶有:百度、京東、新浪、網易、 騰訊、淘寶等。
  • Nginx反向代理實踐
    概述Nginx反向代理(Reverse Proxy):反向代理是指伺服器根據客戶端的請求
  • 淺談反向代理技術
    本篇側重點為反向代理技術,從攻擊者視角洞察安全運維習慣,當然,在此之前,我們得先來再完整熟悉下代理技術。目前大家提到的代理技術無外乎三種:正向代理、透明代理和反向代理,以下我們以B/S架構為例簡單介紹其中的區別。客戶端將請求轉發給代理伺服器,代理伺服器再負責轉發給目標網站,響應時服務端先響應給代理伺服器,代理伺服器再轉發給對應的客戶端。
  • 終於有人把正向代理和反向代理解釋的明明白白了!
    通過正向代理伺服器訪問目標伺服器,目標伺服器是不知道真正的客戶端是誰的,甚至不知道訪問自己的是一個代理(有時候中介也直接冒充租客)。>正向代理和反向代理的區別雖然正向代理伺服器和反向代理伺服器所處的位置都是客戶端和真實伺服器之間,所做的事情也都是把客戶端的請求轉發給伺服器,再把伺服器的響應轉發給客戶端
  • Nginx 反向代理與負載均衡
    什麼是反向代理當我們有一個伺服器集群,並且伺服器集群中的每臺伺服器的內容一樣的時候,同樣我們要直接從個人電腦訪問到伺服器集群伺服器的時候無法訪問,必須通過第三方伺服器才能訪問集群這個時候,我們通過第三方伺服器訪問伺服器集群的內容,但是我們並不知道是哪一臺伺服器提供的內容,此種代理方式稱為反向代理什麼是負載均衡公司會建立很多的伺服器
  • Nginx反向代理伺服器的配置(詳細)
    Nginx使用起來比較簡單,經過簡單的配置文件的修改,就可以將主機配置成一臺web伺服器、一臺反向代理伺服器或者是一臺郵件代理伺服器。在配置Nginx反向代理伺服器之前,還是先來說說什麼是反向代理伺服器吧。
  • 配置Nginx反向代理WebSocket
    題圖:By Anubhav Saxena From Unsplash用Nginx給網站做反向代理和負載均衡是廣泛使用的一種
  • Nginx 反向代理、負載均衡圖文教程 !
    當然很多都是隨便一說的玩笑話,聽過一笑便可,不必當真,也不必抱怨了好了,今天就直接來說一下主題吧,前端要了解一些運維的Nginx用法,內容不多,簡單看看就好,這兩個功能在工作當中就夠用了,那麼首先來看個問題,什麼是反向代理與負載均衡什麼是反向代理與負載均衡什麼是反向代理當我們有一個伺服器集群,並且伺服器集群中的每臺伺服器的內容一樣的時候,同樣我們要直接從個人電腦訪問到伺服器集群伺服器的時候無法訪問
  • 反向代理伺服器nginx-proxy-manager
    一直以來,老蘇都是使用群暉內置的反向代理,雖然很方便易用,但在某些情況下顯得並不靈活。比如老蘇打算安裝 Authelia,需要修改 nginx 轉發規則,必須通過 SSH 登錄後找到相應的文件修改,這一點上不如 nginx-proxy-manager,當你習慣後,你會發現 npm 的優點遠不止這點。