什麼是 Nginx?從反向代理談起

更新 發佈閱讀 4 分鐘

在現代網站架構中,Nginx 幾乎是後端工程師必備的工具。它不僅是一個高效能的網頁伺服器,更常被用作 反向代理伺服器,協助網站應付龐大的流量、保護內部架構,甚至提升安全性與效能。但在深入 Nginx 之前,我們先來理解一個核心觀念:為什麼叫「反向代理」,而不是「正向代理」?


正向代理與反向代理的差異

🔹 正向代理(Forward Proxy)

正向代理的代理對象是 用戶端

想像你(使用者)想從國外訂購一份限量版公仔,但賣家不運送到台灣。這時,你找了一位海外代購來幫你完成這件事。賣家只知道是這位代購在下單,完全不知道你的存在。 這個「海外代購」就是正向代理,它代表你(客戶)向外部世界發出請求。

用途:翻牆、匿名上網、快取上網資料。

流程:使用者 → 正向代理 → 目標伺服器

🔹反向代理(Reverse Proxy)

反向代理的代理對象則是 伺服器端

換個例子:你開了一間超人氣餐廳,生意好到廚房(後端伺服器)有數十位廚師,有些專門做義大利麵、有些專門做披薩。為了避免混亂,你在門口安排了一位接待經理(反向代理)。所有客人的點餐單(請求)都由這位經理接收,他會根據餐點種類,將單子分發給對應的廚師。客人從頭到尾只跟經理打交道,完全不需要知道後面的廚房有幾個人、怎麼分工。

這個「接待經理」就是反向代理。它不代表客戶,而是代表後端的伺服器來回應外部世界的請求。之所以稱作「反向」,正是因為它處於流量的反方向,保護和管理後端的伺服器,對外統一提供服務。

用途:負載平衡、隱藏內部架構、SSL/HTTPS 統一管理、快取靜態檔案。

流程:使用者 → 反向代理(Nginx) → 後端應用伺服器

Nginx 的主要用途:不只是個網頁伺服器

Nginx 的能力遠不止於此,它就像這位超能幹的接待經理,能處理各種複雜的任務:

  1. 高效率的網頁伺服器: 這是 Nginx 最原始的功能。它擅長處理靜態檔案(例如圖片、HTML、CSS),由於其輕量、非同步的架構,處理速度比傳統伺服器快上許多,尤其在面對高併發流量時表現優異。
  2. 負載平衡(Load Balancer): 當你的網站流量大到一台後端伺服器無法負荷時,Nginx 可以將所有進來的請求,智慧地分配到多台後端伺服器上,確保每一台伺服器都能平均分擔工作,避免任何一台過載而導致服務崩潰。
  3. SSL/TLS 加密終止: 處理 HTTPS 加密連線會消耗大量的 CPU 資源。Nginx 可以代勞處理這些加密與解密的工作,讓後端的應用程式伺服器可以把所有資源集中在處理商業邏輯上,大大提升整體效能。

Nginx 與後端語言的協作:完美的分工合作

Nginx 本身是用 C 語言 寫成的,Nginx 的強大之處在於,它不挑食,可以與任何後端語言寫的應用程式協作。它扮演的角色就像一個通用語言的翻譯官,負責將來自外界的 HTTP 請求,精準地轉發給後端服務。

下表是常見的後端語言與其對應的應用伺服器,以及它們與 Nginx 的協作模式:

raw-image

結語

Nginx 的強大之處,在於它不是一個單純的網頁伺服器,而是一個 多面向的流量管理平台。透過反向代理,它能有效地保護後端伺服器、分配流量、提升效能,並與各種程式語言的後端應用無縫協作。無論是 PHP 的傳統網站、Python 的數據應用、還是 Node.js 的即時服務,Nginx 都能扮演穩定且可靠的「門面」。

如果把整個網站比喻成一間公司,那麼 Nginx 就是大門口的接待櫃檯:負責接待每一位訪客,並把他們帶到正確的部門,確保整間公司運作順暢。這也正是為什麼,Nginx 能成為現代網頁架構不可或缺的重要角色。




留言
avatar-img
留言分享你的想法!
avatar-img
慵懶貓系的小墨魚:數據外的日常觀察
1會員
33內容數
小墨魚,一位白天擅長資料分析與統計建模的數據工作者,夜裡則沉浸在書本與文字裡,透過閱讀與寫作與世界對話。工作之餘,也兼職統計家教,協助學生理解複雜的統計概念與軟體操作。這裡記錄我的書評、生活觀察、科技碎念,有時也寫下關於時間與情緒的小片段。願這些文字,成為我們在日常中相遇的溫柔片刻。
2025/09/27
想像一下你要從臺北運送一批貨物到高雄,你可以選擇高鐵、火車、卡車,或是自己開車。每種方式都是「運輸」,但它們的工具、路線和效率完全不同。 網站後端語言也是一樣,它們的目的都是「處理資料與回應請求」,但採用的工具和運行方式各有特色,這就是所謂的 「生態環境」(Ecosystem)。 一、 四大後端
Thumbnail
2025/09/27
想像一下你要從臺北運送一批貨物到高雄,你可以選擇高鐵、火車、卡車,或是自己開車。每種方式都是「運輸」,但它們的工具、路線和效率完全不同。 網站後端語言也是一樣,它們的目的都是「處理資料與回應請求」,但採用的工具和運行方式各有特色,這就是所謂的 「生態環境」(Ecosystem)。 一、 四大後端
Thumbnail
2025/09/24
在資料分析工作中,我們經常需要根據地理邊界來篩選資料。本文將完整示範如何下載鄉鎮邊界圖資,提取特定區域(以雲林縣斗六市為例),並篩選出落在該區域內的資料點。
Thumbnail
2025/09/24
在資料分析工作中,我們經常需要根據地理邊界來篩選資料。本文將完整示範如何下載鄉鎮邊界圖資,提取特定區域(以雲林縣斗六市為例),並篩選出落在該區域內的資料點。
Thumbnail
2025/09/16
想在自己的部落格或專題報告中,畫一張美美的台灣地圖,標示出各鄉鎮的資料?但一碰到那些讓人眼花撩亂的檔案格式,是不是就感到一頭霧水呢?別擔心!這篇文章將帶你一次搞懂繪製台灣地圖最常用的兩種格式:Shapefile 和 GeoJSON,並介紹各自的優缺點、適用情境,以及哪裡可以下載這些珍貴的檔案
Thumbnail
2025/09/16
想在自己的部落格或專題報告中,畫一張美美的台灣地圖,標示出各鄉鎮的資料?但一碰到那些讓人眼花撩亂的檔案格式,是不是就感到一頭霧水呢?別擔心!這篇文章將帶你一次搞懂繪製台灣地圖最常用的兩種格式:Shapefile 和 GeoJSON,並介紹各自的優缺點、適用情境,以及哪裡可以下載這些珍貴的檔案
Thumbnail
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
※ 原本狀態:伺服器渲染 這是 MVC 架構下的 request / response 示意圖,在這張圖呈現的架構裡,畫面和資料都由同一個架構處理。 伺服器渲染流程: 瀏覽器針對特定網址送出請求。 路由器解析請求後,轉接給對應的 controller。 controller 按照要求,透過
Thumbnail
※ 什麼是Middleware (中介層)? Middleware 一般翻譯作「中間件」或是「中介軟體」,其實 Express 應用程式就是由一連串的 middleware 串連而成: 從 request 進來到 response 回去會經過一系列的流程。 這個流程會按照路由清單由上而下執行。
Thumbnail
※ 什麼是Middleware (中介層)? Middleware 一般翻譯作「中間件」或是「中介軟體」,其實 Express 應用程式就是由一連串的 middleware 串連而成: 從 request 進來到 response 回去會經過一系列的流程。 這個流程會按照路由清單由上而下執行。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
代理模式通過封裝原始對象來實現對該對象的控制和管理,同時不改變原始對象的行為或客戶端與該對象互動的方式,以此介入或增強對該對象的訪問和操作。
Thumbnail
之前在【什麼是網路請求(HTTP response)】筆記裡有提到,網路請求遇到 CORS 跨域問題,在開發時可以透過 vite 的反向代理來解決,那麼什麼是反向代理,有反向代理的話是不是也有正向代理呢?
Thumbnail
之前在【什麼是網路請求(HTTP response)】筆記裡有提到,網路請求遇到 CORS 跨域問題,在開發時可以透過 vite 的反向代理來解決,那麼什麼是反向代理,有反向代理的話是不是也有正向代理呢?
Thumbnail
當我剛開始接觸這個領域的時候,經常會看到有人在討論: 到底要做前端還是後端工程師呢?後端工程師賺的比前端工程師多?前端工程師轉後端工程師?那前端與後端到底是什麼呢? 這篇文章提供了前端與後端的基本概念並舉例來說明。同時也介紹了前端的三大要素以及後端的運作原理,對於想深入瞭解前後端的讀者會非常有幫助。
Thumbnail
當我剛開始接觸這個領域的時候,經常會看到有人在討論: 到底要做前端還是後端工程師呢?後端工程師賺的比前端工程師多?前端工程師轉後端工程師?那前端與後端到底是什麼呢? 這篇文章提供了前端與後端的基本概念並舉例來說明。同時也介紹了前端的三大要素以及後端的運作原理,對於想深入瞭解前後端的讀者會非常有幫助。
Thumbnail
本篇將分享關於nginx ingress controller的基本操作,包括預先準備、流程、實際操作、將domain name 映射到Ingress LB IP、部署Demo App 驗證以及結論。
Thumbnail
本篇將分享關於nginx ingress controller的基本操作,包括預先準備、流程、實際操作、將domain name 映射到Ingress LB IP、部署Demo App 驗證以及結論。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News