成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何理解正向和反向代理

開發
個人感覺正向代理和反向代理這兩個概念技術是很相似的,都是接收客戶端的請求,并將這些請求轉發給另一臺服務器,然后將服務器的響應返回給客戶端。但是他們的使用場景和目標又有很大不同的。

個人感覺這兩個概念技術是很相似的,都是接收客戶端的請求,并將這些請求轉發給另一臺服務器,然后將服務器的響應返回給客戶端。

但是他們的使用場景和目標又有很大不同的。

正向代理

正確叫法是:Forward Proxy,譯為:正向代理、前置代理、前向代理、客戶端代理

主要是面向客戶端的。最大的特點就是,在代理的過程中隱藏了真實的請求客戶端,服務端不知道真實的客戶端是誰。

比如我們耳熟能詳的VPN做的事情,就是這個。

也就是說,必須在客戶端上面做一些操作,讓你的流量全部通過代理服務器去訪問網絡,外部識別到的都是你的代理服務器的身份,無法追蹤到你的實際ip。

圖片

如上圖所示, 所有客戶端(Client A、B)全部都會被偽裝 來訪問訪問外部網絡。

很多公司為了內部網絡安全,都會做網關進行管理。

反向代理

正確叫法是:Reverse Proxy,譯為:反向代理、反向代理服務器、逆向代理、服務器代理

主要是面向服務端的,最大的特點就是,從客戶端角度來看,并不知道真實訪問的服務器是誰,只知道公開的服務器入口。

圖片

如上圖所示,客戶端都是去訪問 google.com 但是并不知道最終的服務器實際地址。

顯而易見的,這樣就很輕松的將客戶端請求分發到了多臺服務器,實現負載均衡,并且還能保護實際服務器,當然還有一些其他的好處。

下面用Nginx來列舉一些反向代理的使用場景:

1. 負載均衡

你可以使用Nginx將進入的請求分發到多臺后端服務器。這在配置文件中看起來可能像這樣:

http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
    }

server {
listen80;

location / {
proxy_pass http://backend;
        }
    }
}

在這個配置中,upstream 指令定義了一個包含多個服務器的服務器組。然后,在 location 塊中,proxy_pass 指令將客戶端的請求轉發到 backend 服務器組中的服務器。

這里默認采用的是輪詢的負載均衡方法。

Nginx會按照服務器的定義順序,依次將每個新的請求轉發到不同的后端服務器。如果所有的后端服務器對于請求的處理速度都大致相同,這種方法是有效的。

加權輪詢(Weighted Round Robin)

這是輪詢的擴展。你可以為每個后端服務器指定一個權重(weight),權重較高的服務器將接收更多的請求。

這在后端服務器性能不均勻時很有用。配置看起來可能像這樣:

http{
upstreambackend {
serverbackend1.example.com weight=3;
serverbackend2.example.com;
serverbackend3.example.com;
}
...
}

在這個例子中,backend1.example.com 由于權重設為3,將接收三倍于其他服務器的請求。

最少連接(Least Connections)

這種方法會將新的請求轉發到當前活躍連接數最少的服務器,適合處理請求處理時間長短不一的情況。

配置看起來可能像這樣:

http{
upstreambackend {
least_conn;
serverbackend1.example.com;
serverbackend2.example.com;
serverbackend3.example.com;
}
...
}

IP Hash

這種方法根據客戶端的IP地址決定將請求發送到哪個服務器,可以用于實現會話持久性(session persistence)。

配置看起來可能像這樣:

http{
upstreambackend {
ip_hash;
serverbackend1.example.com;
serverbackend2.example.com;
serverbackend3.example.com;
}
...
}

在這個例子中,ip_hash 指令讓 Nginx 使用 IP Hash 的方法來分配請求。具體來說,Nginx 會根據客戶端的 IP 地址計算一個哈希值,然后根據這個哈希值將請求分發給某一個特定的后端服務器。因此,來自同一個客戶端 IP 的請求總是會被發送到同一臺后端服務器,這樣就可以實現會話保持。

還有其他一些規則,這里就不一一介紹了。

2. SSL終端

在Nginx中,你可以配置反向代理來處理所有的SSL/TLS握手過程。配置看起來可能像這樣:

server {
listen443 ssl;

ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

location / {
proxy_pass http://backend;
    }
}

在這個配置中,listen 指令讓Nginx在443端口(默認的HTTPS端口)上監聽請求,ssl_certificate 和 ssl_certificate_key 指定了SSL證書和私鑰的位置。然后,所有的HTTPS請求都會被轉發到 backend 服務器組。

簡單的說,只需要在你的代理服務器上配置好SSL證書,進行https訪問,訪問實際服務器的時候,采用http(非加密的方式)。

這種將解密后的請求轉發到后端服務器,可以大大減輕后端服務器的計算壓力。

3. 緩存

Nginx也可以配置為緩存代理,將后端服務器的響應結果(如網頁、圖片、視頻等)暫存到本地磁盤或內存中,提高對相同請求的處理速度。

當收到相同的請求時,直接從緩存中提供服務,而無需再次訪問后端服務器,這可以大大提高服務的響應速度和后端服務器的處理能力。另外,反向代理還可以對響應內容進行優化,如壓縮、添加緩存控制頭等。

某種意義上來說我們使用的CDN服務器,采用的就是類似的做法。

配置看起來可能像這樣:

http {
proxy_cache_path /data/nginx/cache levels=1:2 keys_znotallow=my_cache:10m;

server {
listen80;

location / {
proxy_cache my_cache;
proxy_pass http://backend;
        }
    }
}

在這個配置中,proxy_cache_path 指令定義了緩存的存儲路徑和其他參數,proxy_cache 指令使得在 / 位置的請求啟用緩存。

4. 安全

反向代理還可以提供額外的安全層,它可以隱藏后端服務器的信息,防止惡意攻擊直接達到后端服務器。

同時,它還可以實施各種安全策略,如阻止來自特定IP地址的請求,限制并發連接數等。

反向代理舉例

Chatapi反代

圖片

server {
listen443 ssl;
server_name chatapi.xxxxx.com;

ssl_certificate /etc/nginx/cert/chatapi.xxxxx.com.crt;
ssl_certificate_key /etc/nginx/cert/chatapi.xxxxx.com.key;

location / {
proxy_pass  https://api.openai.com/;
proxy_ssl_server_nameon;
proxy_set_header Host api.openai.com;
proxy_set_header Connection '';
proxy_http_version1.1;
chunked_transfer_encodingoff;
proxy_bufferingoff;
proxy_cacheoff;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
    }

access_log /www/access_nginx.log combined;
}

這樣的話就可以用 chatapi.xxxxx.com 去替代 api.openai.com 了,解決了在國內直接訪問的問題

還有很多其他的應用場景,這里就不一一列舉了。

責任編輯:龐桂玉 來源: web前端開發
相關推薦

2023-09-08 00:07:41

2018-11-12 12:17:00

2024-07-22 15:34:25

2020-10-22 08:05:46

Nginx

2019-08-26 10:31:12

正向代理反向代理安全

2019-06-18 09:45:19

正向代理反向代理IT

2021-03-16 21:42:37

反向代理正向代理

2024-03-26 07:38:16

正向代理反向代理代碼

2024-02-04 16:51:47

2021-07-29 11:15:25

Nginx網絡服務器

2018-11-05 09:34:43

2018-04-17 12:10:40

2024-04-26 09:04:13

2022-07-01 07:33:24

nginx反向代理測試

2018-08-30 09:15:42

人工智能神經網絡深度學習

2010-06-12 18:00:16

ARP協議

2023-09-13 07:16:31

Ngnix代理服務器

2016-11-04 20:02:37

Apache

2023-12-05 09:14:54

2012-12-07 10:14:48

Nginx負載均衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产精品视频 | 在线看av网址 | 中文字幕av一区二区三区 | 九九免费视频 | 可以免费观看的av | 久久久久久久久一区 | 永久av| 久久国内精品 | 久久一二区| 国产精品亚洲精品日韩已方 | 韩国精品一区 | 青青草视频免费观看 | 国产一级片精品 | av免费网址| 欧美日韩国产三级 | 精品久久久久一区二区国产 | 999观看免费高清www | 国产传媒视频在线观看 | 欧美视频区 | 国产乱码久久久久久 | 日韩精品一区二区三区中文在线 | 成人在线观看免费视频 | 午夜爱爱毛片xxxx视频免费看 | 色婷婷一区二区三区四区 | 中文字幕91av | 欧美黑人国产人伦爽爽爽 | 99re在线视频 | 国产精品毛片一区二区三区 | 欧美成年人视频在线观看 | 国产中文字幕在线 | 国产成在线观看免费视频 | 中文字幕在线国产 | 久久国产精品久久久久久 | 国产片侵犯亲女视频播放 | 亚洲一区二区三区四区五区午夜 | 中文字幕 在线观看 | 亚洲图片视频一区 | 羞羞视频网站 | 日韩欧美手机在线 | 91亚洲精品在线观看 | 亚洲精品日韩在线 |