偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

“正向代理”和“反向代理”你還傻傻分不清?

開發(fā) 架構(gòu)
我家老板看過這篇文章之后的評(píng)價(jià)是:寫的不錯(cuò),語句是通順的,排版是可以的,但反向代理是什么還是不清楚。所以我就嘗試著向非 IT 工作者解釋“正向代理”和“反向代理”。

我家老板看過這篇文章之后的評(píng)價(jià)是:寫的不錯(cuò),語句是通順的,排版是可以的,但反向代理是什么還是不清楚。所以我就嘗試著向非 IT 工作者解釋“正向代理”和“反向代理”。

接下來我會(huì)先嘗試面向大眾,來解釋“代理”的概念,再從專業(yè)的角度解釋“正向代理”和“反向代理”。

概念實(shí)例化

在講代理的概念之前我先講個(gè)類比,也是我向我家老板解釋的過程:

還好我反應(yīng)機(jī)敏,要不然這個(gè)月的零花錢就要替我擋一刀了??墒俏以撛趺唇忉屇?還要讓沒有編程語言基礎(chǔ)的人也聽懂,傷腦筋啊!

在沒有思緒的時(shí)候,她突然問我晚上吃了沒有?這不就是很好的例子嗎?

解釋了這么久,不知道是真的懂了,還是因?yàn)樘Я?。不過我有錢吃肉了。

接下來我們就認(rèn)真的看看“正向代理”和“反向代理”。

正向代理和反向代理概念

首先看看說明圖,先有一個(gè)整體的理解:

正向代理( Forward Proxy ):是一個(gè)位于客戶端和原始服務(wù)器之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容, 客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端??蛻舳瞬拍苁褂谜虼?。

反向代理( Reverse Proxy ):是指以代理服務(wù)器來接受 Internet 上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給 Internet 上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。

接下來我提煉一下各自的特點(diǎn):

正向代理:

  • 代理客戶。
  • 隱藏真實(shí)的客戶,為客戶端收發(fā)請(qǐng)求,使真實(shí)客戶端對(duì)服務(wù)器不可見。
  • 一個(gè)局域網(wǎng)內(nèi)的所有用戶可能被一臺(tái)服務(wù)器做了正向代理,由該臺(tái)服務(wù)器負(fù)責(zé) HTTP 請(qǐng)求。
  • 意味著同服務(wù)器做通信的是正向代理服務(wù)器。

反向代理:

  • 代理服務(wù)器。
  • 隱藏了真實(shí)的服務(wù)器,為服務(wù)器收發(fā)請(qǐng)求,使真實(shí)服務(wù)器對(duì)客戶端不可見。
  • 負(fù)載均衡服務(wù)器,將用戶的請(qǐng)求分發(fā)到空閑的服務(wù)器上。
  • 意味著用戶和負(fù)載均衡服務(wù)器直接通信,即用戶解析服務(wù)器域名時(shí)得到的是負(fù)載均衡服務(wù)器的 IP。

共同點(diǎn):

  • 都是做為服務(wù)器和客戶端的中間層。
  • 都可以加強(qiáng)內(nèi)網(wǎng)的安全性,阻止 Web 攻擊。
  • 都可以做緩存機(jī)制,提高訪問速度。

區(qū)別:

  • 正向代理其實(shí)是客戶端的代理,反向代理則是服務(wù)器的代理。
  • 正向代理中,服務(wù)器并不知道真正的客戶端到底是誰;而在反向代理中,客戶端也不知道真正的服務(wù)器是誰。
  • 作用不同。正向代理主要是用來解決訪問限制問題;而反向代理則是提供負(fù)載均衡、安全防護(hù)等作用。

說了這么多,現(xiàn)在說說代理在工作中的時(shí)機(jī)應(yīng)用場景吧。

實(shí)際應(yīng)用

上網(wǎng)軟件:正向代理

我們知道在國內(nèi)用訪問 www.google.com 是無法訪問的,因?yàn)檎G闆r下是會(huì)被 GFW 限制訪問的。

可是你還是想使用 Google 來上網(wǎng)的話,這個(gè)時(shí)候我們就需要一些代理來幫我們?nèi)フ?qǐng)求 www.google.com,代理再把響應(yīng)結(jié)果返回給你。

GFW 的作用主要是用于分析和過濾中國境內(nèi)外網(wǎng)絡(luò)間的互相訪問。也就是說,他不僅能限制國內(nèi)網(wǎng)民訪問境外的某些站點(diǎn),也能限制國外用戶訪問國內(nèi)的站點(diǎn)。

我們通常說的“被墻”,就是指訪問被 GFW 所限制,顧名思義,則是突破限制。

Nginx 服務(wù)器:反向代理

Nginx 服務(wù)器的功能有很多,諸如反向代理、負(fù)載均衡、靜態(tài)資源服務(wù)器等。

客戶端本來可以直接通過 HTTP 協(xié)議訪問服務(wù)器,不過我們可以在中間加上一個(gè) Nginx 服務(wù)器,客戶端請(qǐng)求 Nginx 服務(wù)器,Nginx 服務(wù)器請(qǐng)求應(yīng)用服務(wù)器,然后將結(jié)果返回給客戶端,此時(shí) Nginx 服務(wù)器就是反向代理服務(wù)器。

在虛擬主機(jī)的配置中配置反向代理:

  1. # 虛擬主機(jī)的配置 
  2. server { 
  3.     listen 8080;                         # 監(jiān)聽的端口 
  4.     server_name  192.168.1.1;            # 配置訪問域名 
  5.     root  /data/toor;                    # 站點(diǎn)根目錄 
  6.     error_page 502 404 /page/404.html;   # 錯(cuò)誤頁面 
  7.     location ^~ /api/  {                        # 使用 /api/ 代理 proxy_pass 的值 
  8.         proxy_pass http://192.168.20.1:8080;    # 被代理的應(yīng)用服務(wù)器 HTTP 地址 
  9.     } 

以上簡單的配置就可以實(shí)現(xiàn)反向代理的功能。當(dāng)然反向代理也可以處理跨域問題。

對(duì)于使用 vue-cli 搭建的工程而言,我們知道 vue-cli 采用 http-proxy-middleware 插件來進(jìn)行代理服務(wù)器等各項(xiàng)配置。

所以我們可以利用 proxyTable,設(shè)置地址映射表。即使用 proxyTable 這個(gè)屬性進(jìn)行相關(guān)的配置來解決跨域問題帶來的煩惱。

配置如下:

  1. proxyTable: { 
  2.     '/weixin': { 
  3.         target: 'http://192.168.20.1:8080/', // 接口的域名 
  4.         secure: false,      // 如果是 https 接口,需要配置這個(gè)參數(shù) 
  5.         changeOrigin: true, // 如果接口跨域,需要進(jìn)行這個(gè)參數(shù)配置 
  6.         pathRewrite: { 
  7.             '^/weixin''' 
  8.         } 
  9.     } 

負(fù)載均衡的配置:

  1. # upstream 表示負(fù)載服務(wù)器池,定義名字為 my 
  2. upstream my { 
  3.     server 192.168.2.1:8080 weight=1 max_fails=2 fail_timeout=30s; 
  4.     server 192.168.2.2:8080 weight=1 max_fails=2 fail_timeout=30s; 
  5.     server 192.168.2.3:8080 weight=1 max_fails=2 fail_timeout=30s; 
  6.     server 192.168.2.4:8080 weight=1 max_fails=2 fail_timeout=30s; 
  7.    # 即在 30s 內(nèi)嘗試 2 次失敗即認(rèn)為主機(jī)不可用 
  8.   } 

負(fù)載均衡即將 請(qǐng)求/數(shù)據(jù) 輪詢分?jǐn)偟蕉鄠€(gè)服務(wù)器上執(zhí)行,負(fù)載均衡的關(guān)鍵在于均勻。

也可以通過 ip-hash 的方式,根據(jù)客戶端 IP 地址的 Hash 值將請(qǐng)求分配給固定的某一個(gè)服務(wù)器處理。

另外,服務(wù)器的硬件配置可能不同,配置好的服務(wù)器可以處理更多的請(qǐng)求,這時(shí)可以通過 weight 參數(shù)來控制。

 

責(zé)任編輯:武曉燕 來源: 小生方勤
相關(guān)推薦

2023-09-08 00:07:41

2018-11-12 12:17:00

2025-05-08 02:00:00

2024-07-22 15:34:25

2020-10-22 08:05:46

Nginx

2019-08-26 10:31:12

正向代理反向代理安全

2021-02-25 23:40:26

Redis集群架構(gòu)

2022-05-05 13:54:37

SPI機(jī)制APISPI

2022-04-15 11:47:47

LVSNginx負(fù)載均衡

2024-02-04 16:51:47

2021-03-16 21:42:37

反向代理正向代理

2021-01-22 08:37:02

二進(jìn)制Binary SemaReentrant L

2021-05-09 21:57:08

數(shù)據(jù)倉庫Olap

2021-08-04 09:00:55

閉包Go調(diào)用

2024-03-26 07:38:16

正向代理反向代理代碼

2022-05-15 21:52:04

typeTypeScriptinterface

2020-11-11 07:32:18

MySQL InnoDB 存儲(chǔ)

2021-01-13 08:10:26

接口IEnumeratorIEnumerable

2021-07-29 11:15:25

Nginx網(wǎng)絡(luò)服務(wù)器

2018-04-17 12:10:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)