Nginx中正向代理,反向代理,負(fù)載均衡應(yīng)用場景分析
1. ?? 反向代理
情景:
顧客想買手機(jī),他走到購物中心前臺問:"手機(jī)店在哪?"
前臺說:"您稍等,我?guī)湍?lián)系",然后前臺去后面的手機(jī)店取來手機(jī)交給顧客。
技術(shù)解釋:
- 顧客不知道后面有多少家手機(jī)店,也不知道具體是哪家為他服務(wù)
- 前臺(Nginx)代表后面的店鋪(服務(wù)器)為顧客服務(wù)
- 客戶不知道真正的服務(wù)提供者
# Nginx 配置示例
server {
listen 80;
server_name shopping-mall.com;
location /phone-shop/ {
# 將請求轉(zhuǎn)發(fā)給后端的手機(jī)店
proxy_pass http://real-phone-shop:8080;
}
location /clothing-shop/ {
# 將請求轉(zhuǎn)發(fā)給后端的服裝店
proxy_pass http://real-clothing-shop:8081;
}
}特點(diǎn): 隱藏真實(shí)服務(wù)器,保護(hù)后端,統(tǒng)一入口
2. ?? 正向代理
情景:
顧客想訪問一個被限制的國外網(wǎng)站(比如某些外網(wǎng)),但他無法直接訪問。
于是他找了一個"代理服務(wù)"(比如VPN),讓代理幫他去訪問那個網(wǎng)站,然后把內(nèi)容傳回來。
技術(shù)解釋:
- 顧客主動使用代理
- 網(wǎng)站不知道真正的訪問者是誰,只知道代理在訪問它
- 服務(wù)器不知道真正的客戶端
# 正向代理配置(Nginx 也可以做,但較少用)
server {
listen 3128; # 代理端口
resolver 8.8.8.8;
location / {
# 允許客戶端通過此服務(wù)器訪問外部網(wǎng)絡(luò)
proxy_pass http://$http_host$request_uri;
}
}特點(diǎn): 突破訪問限制,隱藏客戶端身份
3. ?? 負(fù)載均衡
情景:
購物中心有三家一模一樣的手機(jī)店(賣同樣商品)。
前臺看到很多顧客都要買手機(jī),于是:
- 把第一個顧客指引到1號店
- 把第二個顧客指引到2號店
- 把第三個顧客指引到3號店
- 把第四個顧客又指引到1號店...
技術(shù)解釋:
- 將大量請求分配到多個相同的服務(wù)器上
- 避免單個服務(wù)器過載
- 提高整體處理能力
# Nginx 負(fù)載均衡配置
upstream phone_shops {
# 定義三家手機(jī)店(后端服務(wù)器)
server 192.168.1.101:8080 weight=3; # 權(quán)重3,處理更多請求
server 192.168.1.102:8080 weight=2; # 權(quán)重2
server 192.168.1.103:8080 weight=1; # 權(quán)重1
}
server {
listen 80;
server_name shopping-mall.com;
location /phone-shop/ {
# 將請求負(fù)載均衡到三家店
proxy_pass http://phone_shops;
}
}特點(diǎn): 分?jǐn)倝毫?,提高可用性,擴(kuò)展性
?? 一句話總結(jié)
| 概念 | 誰被代理? | 為誰服務(wù)? | 一句話理解 |
|---|---|---|---|
| 反向代理 | 服務(wù)器 | 客戶端 | "幫服務(wù)器接客" - 客戶找代理,代理找真服務(wù)器 |
| 正向代理 | 客戶端 | 客戶端 | "幫客戶跑腿" - 客戶讓代理去訪問目標(biāo) |
| 負(fù)載均衡 | 多個服務(wù)器 | 系統(tǒng)整體 | "客流分配員" - 把客戶平均分給多個服務(wù)點(diǎn) |
?? 實(shí)際應(yīng)用場景
反向代理常見用途:
- 網(wǎng)站入口網(wǎng)關(guān)
- API 網(wǎng)關(guān)
- SSL 終端(HTTPS解密)
正向代理常見用途:
- 公司內(nèi)網(wǎng)代理
- 科學(xué)上網(wǎng)工具
- 內(nèi)容過濾
負(fù)載均衡常見用途:
- 電商網(wǎng)站大促時
- 高流量應(yīng)用
- 微服務(wù)架構(gòu)
到此這篇關(guān)于Nginx中正向代理,反向代理,負(fù)載均衡的文章就介紹到這了,更多相關(guān)nginx正向代理,反向代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案
本文主要介紹了Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實(shí)現(xiàn)
本文主要介紹了Nginx $remote_addr和$proxy_add_x_forwarded_for變量的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
nginx安裝并轉(zhuǎn)發(fā)socket服務(wù)實(shí)現(xiàn)方式
文章指導(dǎo)如何安裝編譯工具、PCRE和Nginx,并通過修改配置文件添加stream塊實(shí)現(xiàn)端口轉(zhuǎn)發(fā),將9999/801端口分別映射至9988/1557端口2025-07-07
Linux查看nginx安裝目錄和配置文件路徑的實(shí)現(xiàn)
本文主要介紹了Linux查看nginx安裝目錄和配置文件路徑的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

