CDN教學:反向代理伺服器原理與優勢,快速掌握!

CDN的核心:反向代理伺服器
查詢CDN時,經常可以看到:「反向代理伺服器」,你或許知道這是CDN的核心技術之一,但究竟什麼是反向代理伺服器呢? 本次CDN教學帶你詳細了解反向代理伺服器。
了解反向代理伺服器前,需要先知道什麼是「反向代理」,反向代理就是「代理伺服器替您的伺服器接收請求,而後轉發至您的伺服器」聽起來很抽象吧,沒關係,看下面這張圖會更清楚。

用來作為反向代理的伺服器稱之為「反向代理伺服器」,例如Nginx、Varnish、HAProxy等都是廣為人使用的反向代理軟體。
反向代理與正向代理有何不同?
反向代理(Reverse Proxy)的相反就是正向代理(Forward Proxy),其中的差別在於正向代理是「代理伺服器替用戶發送請求,而後轉發至目的地」,透過下圖能更好理解。

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

反向代理伺服器的強大優勢
反向代理的應用層面很廣,且可以帶來眾多好處,其中包括但不限於內容緩存、流量清洗、隱藏IP位置、負載均衡等。
1. 內容緩存,實現網站加速
面對重複的請求,讓代理替伺服器回應,縮短回應時間,增加網站體驗。


隨著網站業務擴張,內容緩存可以節省流量費用,並且減緩伺服器的負擔,用越多,省越多。
以一張200KB的圖片為例,假設一天有一千次請求,使用量為200MB,一個月為6GB (200*30)。若使用CDN緩存技術,源伺服器實際只會存取一次,剩下由CDN負責回應,200KB和6GB是不是差很多呢!
2. 流量清洗,杜絕惡意攻擊
面對騷擾請求,讓代理替你過濾,網站業務不受影響。

網路上的非正常請求層出不窮(只要您看過伺服器上的請求日誌便能發現)使用反向代理伺服器能有效阻擋惡意請求,讓伺服器更高效地服務網站用戶。
如果現在正經營商務網站,一定可以從請求日誌中看到有人嘗試請求/login (登入)路徑,並且以超乎正常人的速度在進行(通常是使用程式進行惡意存取)。此時網站已經陷於危險之中,就像有人每天拿著一堆鑰匙來試你家的門一樣危險!而CDN可以將這些不肖分子提前攔阻,就像大樓管理員會幫我們過濾一樣。
從請求日誌中,你可以發現來自世界各地的機器人(不肖分子使用程式進行自動存取)不斷覬覦您的網站,例如暴力破解、惡意爬蟲、弱點掃描等,因此應該為網站配置適當的安全策略,例如使用CDN的WAF功能配置黑白名單等,以確保網站安全。
3. 隱藏IP位置,避免遭受攻擊
躲在代理伺服器後面好安全。

透過反向代理伺服器,使用者將會認知「反向代理伺服器即是您的伺服器」,可避免自己伺服器的真實IP暴露遭受網路攻擊,以及免去更換伺服器(IP)所花費的成本。
4. 負載均衡,避免伺服器過載與移除故障伺服器
業務擴張,多點備援沒煩惱。
一般而言,每台伺服器有自己的IP地址,用戶透過直接訪問伺服器IP地址來存取服務,因此當擴展業務需增加伺服器時,如何平均分配流量,或當某台伺服器無法運作時,如何導向健康的伺服器而不影響用戶,顯得非常關鍵。此時,反向代理伺服器就能發揮效用。

⬛ 延伸閱讀: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節點越多越好?節點數量、位置與成本該如何思考!