LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Nginx反向代理用途介紹


2025年6月9日 0:39 本文熱度 270
?

在現代的網絡架構中,反向代理(Reverse Proxy)無處不在。無論是負載均衡加速緩存,還是WebSocket 支持反向代理都是必不可少的工具。

這篇文章將帶您全面了解反向代理的概念、作用和實際使用場景,并通過Nginx 的配置示例幫助您快速上手!


??一、什么是反向代理?

反向代理(Reverse Proxy)是一種架設在客戶端和服務器之間的中間服務器。

  • ?客戶端:用戶的瀏覽器或移動設備。
  • ?反向代理:如 Nginx、Apache、Caddy 等。
  • ?后端服務器:實際處理請求的服務器,通常是 Web 服務器或應用服務器。

??反向代理與正向代理的區別

代理類型
位置
主要用途
正向代理
客戶端一側
客戶端訪問外網的中介(如翻墻)
反向代理
服務器一側
保護、負載均衡、緩存、路徑重寫

在正向代理中,客戶端隱藏自己;而在反向代理中,服務器隱藏自己


??二、反向代理的 7 大作用

1??隱藏后端服務器的 IP 和端口(安全防護)

作用

  • ? 反向代理將后端服務器的 IP 地址和端口隱藏,外部用戶無法直接與后端通信。
  • ? 避免黑客通過 IP 掃描攻擊后端服務器,提升安全性。

場景

  • ? 當后端使用私有 IP(如127.0.0.1:1337)時,外部用戶只能看到反向代理的 IP 地址。

示例配置(Nginx)

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:1337;
    }
}

效果

  • ? 用戶請求http://example.com,Nginx 將請求轉發到http://127.0.0.1:1337
  • ? 只有 Nginx 公開的 IP 和端口暴露在外,后端 IP完全隱藏

2??負載均衡(Load Balancing)

作用

  • ? 將用戶請求分發到多臺后端服務器上,避免單臺服務器負載過高。
  • ? 通過輪詢、權重、最少連接等策略分發請求,確保高可用性。

場景

  • ? 電商大促期間,用戶請求激增,單臺服務器可能會崩潰。通過反向代理,Nginx 將請求分發到 3 臺服務器,減少單點故障。

示例配置(Nginx)

upstream backend {
    server192.168.0.101:1337;
    server192.168.0.102:1337;
    server192.168.0.103:1337;
}

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

效果

  • ? Nginx 將請求分發到192.168.0.101:1337192.168.0.102:1337192.168.0.103:1337,支持高并發流量。

3??緩存加速(Cache)

作用

  • ? 將靜態資源(如圖片、CSS、JS 文件)緩存在代理服務器上,減少后端請求。
  • ? 緩存可減少帶寬使用,提升頁面加載速度,降低后端負載。

場景

  • ? 當用戶多次訪問相同的圖片、視頻時,反向代理從緩存中提供資源,而不向后端服務器請求。

示例配置(Nginx)

server {
    location /static/ {
        root /var/www;
        expires 30d;  # 緩存 30 天
    }
}

效果

  • ? 用戶請求/static/logo.png,Nginx 從緩存中加載,減少后端服務器的壓力。

4??SSL 終止(HTTPS 加密)

作用

  • ? 反向代理處理 SSL 加密,將 HTTPS 請求解密為 HTTP 請求轉發給后端。
  • ? 減輕后端服務器的加解密壓力,提升性能。

場景

  • ? 讓 Nginx 處理 HTTPS 證書,后端只處理普通的 HTTP 請求。

示例配置(Nginx)

server {
    listen443 ssl;
    server_name example.com;

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

    location / {
        proxy_pass http://localhost:1337;
    }
}

效果

  • ? Nginx 負責 HTTPS 證書的加解密,后端只需處理普通的 HTTP 請求,性能更高。

5??路徑重寫(URL 重寫)

作用

  • ? 當前端的 URL 與后端的路徑不一致時,通過路徑重寫進行適配。

場景

  • ? 前端請求/api/v1/users,后端路徑為/users,Nginx 通過路徑重寫將其轉換為/users

示例配置(Nginx)

server {
    location /api/v1/ {
        proxy_pass http://localhost:1337/;
        rewrite ^/api/v1/(.*)$ /$1 break;
    }
}

效果

  • ?/api/v1/users請求被轉發到http://localhost:1337/users,無縫對接前后端路徑差異。

6??限流和防 DDoS 攻擊

作用

  • ? 通過限制每秒的請求數量,保護后端服務器,防止 DDoS 攻擊。

場景

  • ? 只允許每個 IP 每秒 10 個請求,超過則返回429 Too Many Requests

示例配置(Nginx)

http {
    limit_req_zone$binary_remote_addr zone=api_limit:10m rate=10r/s;

    server {
        location /api/ {
            limit_req zone=api_limit burst=20 nodelay;
            proxy_pass http://localhost:1337;
        }
    }
}

效果

  • ? 每個 IP 每秒最多 10 個請求,額外的 20 個請求將排隊,超出部分將返回429 Too Many Requests

7??WebSocket 支持

作用

  • ? 支持 WebSocket 長連接,常用于實時通信投票系統在線聊天

場景

  • ? WebSocket 連接需要保持長連接,反向代理要確保不關閉 TCP 連接。

示例配置(Nginx)

server {
    location /socket/ {
        proxy_pass http://localhost:8080/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

效果

  • ? 用戶連接wss://example.com/socket,Nginx 保持與后端的 WebSocket 連接。

??總結

作用
解釋
使用場景
隱藏 IP
隱藏后端 IP 和端口
提高安全性,防止攻擊
負載均衡
請求分發到多臺服務器
提升性能,處理高并發
緩存
緩存靜態資源
加速加載,減少帶寬
限流
限制每秒請求數量
防 DDoS 攻擊,防濫用
SSL 終止
處理 HTTPS 加解密
減輕后端負載,提高性能


該文章在 2025/6/9 9:55:02 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
香蕉喷水视频在线观看 | 亚洲欧美另类国产制服 | 尤物精品国产第一福利网站 | 亚洲精彩视频在线观看 | 亚洲日韩一区精品 | 欧美亚洲日韩不卡在线在线观看 |