iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
Software Development

軟體架構備忘錄系列 第 19

Day 19 網路架構 - 連接方式 (知識點095~098)

  • 分享至 

  • xImage
  •  

思考的問題

如何規劃網站後端伺服器的連接方式?

後端伺服器有多種不同的類型,例如 Web APP、快取伺服器、資料庫等
伺服器所在位置也有多種可能性,例如雲端、地端。就算是地端也有可能在不同的機房。
如何連結不同的伺服器呢?
常見作法包含:專線、代理伺服器、反向代理、子網路切割等方式。


專線

描述

專線 (leased line) 是一種WAN的連接選項。由ISP業者提供固定頻寬的專用網路,可在不經過網際網路的情況下建立安全的通訊,用於連接不同區域的機房或子網路。

使用情境

  • 安全連接不同區域的子網路。
  • 安全連接雲端供應商的服務。

優點

  • 安全性:無需通過網際網路即可建立不同內部網路之間的安全通訊。
  • 速度穩定:ISP根據簽訂的合約提供固定頻寬,無需與他人共享使用。

缺點

  • 價格高昂:由ISP提供的專線根據頻寬大小計費,通常價格較高。
  • 單點故障:單一專線網路存在故障的風險,通常需要同時組態多條專線作為備援使用。

代理伺服器

描述

Proxy (網路代理伺服器) 是作為內部網路設備存取外部網路的代理伺服器。

優點

  • 過濾風險網站:可設定網站黑名單,避免內部使用者存取高風險網站
  • 阻擋攻擊資料:可檢查回傳內容是否有攻擊字串
  • 隱藏真實IP:避免外部攻擊者直接呼叫內部設備
  • 快取網站資料:可快取最近存取的靜態內容,減少網路流量

缺點

  • 單點故障:若代理伺服器故障,則無法內部設備無法存取外部網路
  • 影響網路速度:由於代理伺服器負責過濾、轉換封包,因此會造成一定程度的網路延遲

反向代理

描述

反向代理 (Reverse Proxy) 存在於伺服器端,負責接收客戶端傳送的請求,並轉發給後端伺服器。

優點

  • 水平擴展:由於瀏覽器端透過反向代理轉傳請求,因此伺服器端可以有多台伺服器同時提供服務,以提高可用性
  • 負載均衡:依照設定平衡呼叫各伺服器,避免特地伺服器的流量過大
  • 錯誤偵測:若特定伺服器請求失敗次數過多,可自動停止呼叫該伺服器
  • 網址重定向:依照請求網址與端口轉傳請求到對應的伺服器與端口
  • 提供保護:避免曝露伺服器真實IP,並阻擋惡意封包,例如:透過白名單與黑名單IP 控制允許通過的請求
  • 快取回傳內容:可快取近期的回傳內容,減輕後端伺服器壓力
  • 支援HTTPS:可於反向代理進行HTTPS加密與認證,減輕後端伺服器處理SSL的壓力

缺點

  • 架構複雜:由於反向代理伺服器負責轉傳封包,使路由路徑更為複雜
  • 單點故障:客戶端請求透過反向代理轉發,若反向代理伺服器故障,則服務可能中斷。可透過水平擴展或集群來解決此問題。

案例

  • Nginx
  • Apache
  • IIS

子網路切割

描述

按照伺服器性質將內部網路分隔為多個子網路,子網路之間設定防火牆以及允許連線的白名單,避免被駭客滲透時直接取得資料庫中的敏感資料。

常見做法

  • 按性質區格子網路:常見區隔方法包含 邊界網路層、Web APP層、資料層
  • 估計合適子網路大小:按照伺服器預計成長量設置足夠的IP數量
  • 設置防火牆:在子網路之間之間設置防火牆,並開放允許通訊的IP白名單、留存網路傳輸紀錄
  • 監控與切換:偵測各網路運行情況,當監測到停止服務時,自動切到備援的網路與路由器
  • 反向代理:各層都設置反向代理伺服器,以彈性擴增、移除伺服器

上一篇
Day 18 網路架構 - 網路設備 (知識點090~094)
下一篇
Day 20 網路架構 - 網路安全 (知識點099~103)
系列文
軟體架構備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言