CDN教學:解析反向代理伺服器原理與優勢,一次帶你了解

Back
2022-03-21

CDN的核心:反向代理伺服器

查詢CDN時,經常可以看到一個詞:「反向代理伺服器」,你或許知道這是CDN的核心技術之一,但究竟什麼是反向代理伺服器呢?

了解反向代理伺服器前,需要先知道什麼是「反向代理」,反向代理就是「代理伺服器替您的伺服器接收請求,而後轉發至您的伺服器」聽起來很抽象吧,沒關係,看下面這張圖會更清楚。

CDN教學¬:什麼是反向代理伺服器?
CDN教學:什麼是反向代理伺服器?

用來作為反向代理的伺服器稱之為「反向代理伺服器」,例如Nginx、Varnish、HAProxy等都是廣為人使用的反向代理軟體。

反向代理與正向代理有何不同?

反向代理(Reverse Proxy)的相反就是正向代理(Forward Proxy),其中的差別在於正向代理是「代理伺服器替用戶發送請求,而後轉發至目的地」,透過下圖能更好理解。

CDN教學:什麼是正向代理伺服器?
CDN教學:什麼是正向代理伺服器?

簡言之,代理「用戶」發送請求的是正向代理,代理「伺服器」接收請求的是反向代理。

CDN教學:正向代理與反向代理
CDN教學:正向代理與反向代理

反向代理伺服器的強大優勢

反向代理的應用層面很廣,且可以帶來眾多好處,其中包括但不限於內容緩存、流量清洗、隱藏IP位置、負載均衡等。

1. 內容緩存,實現網站加速

面對重複的請求,讓代理替伺服器回應,縮短回應時間,增加網站體驗。

CDN教學:反向代理伺服器的內容緩存機制1
CDN教學:反向代理伺服器的內容緩存機制1
CDN教學:反向代理伺服器的內容緩存機制2
CDN教學:反向代理伺服器的內容緩存機制2

隨著網站業務擴張,內容緩存可以節省流量費用,並且減緩伺服器的負擔,用越多,省越多。

以一張200KB的圖片為例,假設一天有一千次請求,使用量為200MB,一個月為6GB (200*30)。若使用CDN緩存技術,源伺服器實際只會存取一次,剩下由CDN負責回應,200KB和6GB是不是差很多呢!

2. 流量清洗,杜絕惡意攻擊

面對騷擾請求,讓代理替你過濾,網站業務不受影響。

CDN教學:反向代理伺服器的流量清洗優勢
CDN教學:反向代理伺服器的流量清洗優勢

網路上的非正常請求層出不窮(只要您看過伺服器上的請求日誌便能發現)使用反向代理伺服器能有效阻擋惡意請求,讓伺服器更高效地服務網站用戶。

如果現在正經營商務網站,一定可以從請求日誌中看到有人嘗試請求/login (登入)路徑,並且以超乎正常人的速度在進行(通常是使用程式進行惡意存取)。此時網站已經陷於危險之中,就像有人每天拿著一堆鑰匙來試你家的門一樣危險!而CDN可以將這些不肖分子提前攔阻,就像大樓管理員會幫我們過濾一樣。

從請求日誌中,你可以發現來自世界各地的機器人(不肖分子使用程式進行自動存取)不斷覬覦您的網站,例如暴力破解、惡意爬蟲、弱點掃描等,因此應該為網站配置適當的安全策略,例如使用CDN的WAF功能配置黑白名單等,以確保網站安全。

3. 隱藏IP位置,避免遭受攻擊

躲在代理伺服器後面好安全。

CDN教學:反向代理伺服器能隱藏伺服器IP
CDN教學:反向代理伺服器能隱藏伺服器IP

透過反向代理伺服器,使用者將會認知「反向代理伺服器即是您的伺服器」,可避免自己伺服器的真實IP暴露遭受網路攻擊,以及免去更換伺服器(IP)所花費的成本。

4. 負載均衡,避免伺服器過載與移除故障伺服器

業務擴張,多點備援沒煩惱。

一般而言,每台伺服器有自己的IP地址,用戶透過直接訪問伺服器IP地址來存取服務,因此當擴展業務需增加伺服器時,如何平均分配流量,或當某台伺服器無法運作時,如何導向健康的伺服器而不影響用戶,顯得非常關鍵。此時,反向代理伺服器就能發揮效用。

CDN教學:反向代理伺服器的負載均衡功能
CDN教學:反向代理伺服器的負載均衡功能

延伸閱讀:CDN服務:緩解DDoS攻擊背後功臣—24/7監控中心到底忙什麼?

運用反向代理技術,可以輕鬆的做到業務擴張/動態括容;同時,反向代理也可以智能地排除異常的源伺服器。以下進一步說明:

一般來說,可以在DNS服務商配置解析,使域名解析到1個伺服器IP地址。亦即,若要擴展業務(伺服器),則必須額外配置一組域名,並且配置解析到新的伺務器IP地址。這種作法會增加額外的管理(域名)成本,並且用戶也會因此困惑(域名太多了)。而且,若伺務器出現延宕,維運人員必須第一時間至DNS服務廠商修改解析,使其解析到健康的伺服器(否則就會收到客戶的抱怨)。

但透過反向代理伺務器的負載均衡功能,將域名DNS解析至反向代理伺服器,讓其作為服務的單一入口,便可自由的擴充(或減少)業務,無須再購買和配置額外域名。更棒的是,反向代理的負載均衡功能幾乎都會附帶健康檢查策略,能夠在數秒內自動下架延宕伺服器,提昇用戶體驗,又能夠大幅減少維運成本!

延伸閱讀:CDN架構:從三大需求解析,認識不同CDN架構原理與優勢

如何開始使用反向代理?

由此可知,反向代理可以給我們帶來很多好處,我們甚至可以說,不論你是正要開始或是已經擁有自己的網路業務,反向代理伺服器是不可或缺的一部分。

如果具備配置伺服器的知識,可以安裝如上述提到的軟體(Nginx / Varnish / HAProxy),並加以配置來使用反向代理;或者您可以直接使用CDN服務, 不僅有便捷的操作界面,更提供完整的流量數據報表,使您的業務以及配置清晰可見。

CDN廠商很多,您可以依需求做選擇。如果傾向CDN節點的靈活性、多CDN整合、混合雲、私有雲,甚至建構一套完全屬於自己的CDN,那麼可以考慮使用ApeiroCDN。

我適合使用ApeiroCDN嗎?

如果您的狀況符合以下:

  • 發展一個新的市場,或滿足現有市場的使用者體驗。
  • 已經有使用其他CDN服務,同時正在評估其他CDN的可行性(備援/並用)
  • 正在考慮混合雲或是私有雲的解決方案
  • 需要專門的CDN諮詢團隊
  • 想擁有自己的CDN

ApeiroCDN擁有多年CDN建立、管理經驗,擅長提供網路解決方案,著重靈活且彈性的配置,透過專業管理團隊、資深技術人員、從評估到建置、從諮詢到維運,滿足CDN所有需求。

延伸閱讀:CDN節點越多越好?節點數量、位置與成本該如何思考!

Share this post

Blog