虛擬伺服器對外呈現單一入口(單一公網 IP/域名),內部實際由多台實體伺服器分擔服務。實作技術主要分為應用層(第 7 層)代理與網路層(第 3/4 層)反向 NAT兩大類。
核心原理:前端代理伺服器接收所有請求,依 URL 路徑、Host Header 或規則轉發至後端不同實體主機。典型工具:Apache mod_proxy、Nginx、HAProxy、IIS ARR。
# 前端單一入口 www.abc.com
ProxyPass /sales https://192.168.0.1/
ProxyPass /rd https://192.168.0.2/
ProxyPass /head https://192.168.0.3/
https://www.abc.com/rd → 實際由 192.168.0.2 處理。| 優點 | 缺點 |
|---|---|
| 可依應用層特徵(URL、Header、Cookie)智慧路由 | 代理伺服器成為單點瓶頸,需叢集/熱備 |
| 支援多種應用協定(HTTP/HTTPS/WebSocket) | 需解析應用層封包,CPU 較高 |
| 易整合認證、速率限制、內容過濾 | 非 HTTP 協定(如 FTP、SSH)需額外模組 |
核心原理:在核心路由/防火牆/負載平衡器上修改封包目的 IP,將對虛擬 IP(VIP)的連線導向後端真實 IP(RIP)。Linux Kernel 2.2+ 內建 ip_port_forward,配合 ipmasqadm 管理。
CONFIG_IP_MASQUERADE、CONFIG_IP_PORTFW。ipmasqadm -A -a www.abc.com:80 -R 192.168.0.1:80ipmasqadm -A -a www.abc.com:80 -R 192.168.0.2:80ipchains/iptables 允許轉發:ipchains -A forward -j MASQ -s 192.168.0.0/24ipchains -A forward -j MASQ -d 192.168.0.0/24| 優點 | 缺點 |
|---|---|
| 效能極高(核心態處理),適合高吞吐量 | 僅能依 IP/Port 路由,無法辨識 URL/Host |
| 協定無關,支援 TCP/UDP 任意服務(Telnet、DB、Mail) | 後端回包需經同一裝置(對稱路由),拓撲受限 |
| 透明於應用程式,無需修改程式碼 | 無法進行 SSL 卸載、內容快取等 L7 最佳化 |
現代雲原生架構常以 Ingress Controller(Nginx/Traefik)+ Service Mesh(Istio/Linkerd) 實現更細緻的流量治理,傳統虛擬伺服器概念已演進為微服務網關與服務發現機制。