正向代理和反向代理
Proxy 代理
Proxy 可以想成是一個中間人的角色,在網路環境中的 Client 和 Server 之間。
正向代理 (Forward Proxy)
簡介
client 可以請 forward proxy 幫忙溝通,forward proxy 會轉發給 server。server 不知道 client 是誰。
功能
- 隱藏 Client 的真實 IP 地址 : 因為透過 forward proxy 當中介,因此 server 只會知道代理伺服器的 IP 地址,可以用來保護用戶的隱私。
- 過濾請求 :可以過濾和檢查傳入和傳出的網絡流量。
- 存取限制 : 可以設定用戶只能訪問特定的內容。
- 繞過限制 : 有些地區有設置防火牆或有限制網站,可以透過正向代理可用於繞過這些限制。因為是從正向代理連接,而不是使用者直接造訪網站。
- 快取 : 如果其他用戶都訪問相同的內容,可以直接從快取取得資訊並回傳給使用者。
反向代理 (Reverse Proxy)
簡介
client 發送 request 給 reverse proxy server, reverse proxy server 會將請 求轉發到一個或多個 server。client 不知道 server 是誰。
功能
- 負載平衡 (Load balancing) : 當有大量流量時,反向代理可以根據各個 server 的情況來分配流量。
- 防止攻擊 : 攻擊者不知道實際的 server IP,更難針對 server 攻擊。因此只能針對反向代理攻擊,但反向代理有更好的安全性來防禦攻擊。
- SSL 加密 : 可以用於解密和重新加密傳入的 SSL/TLS 加密請求,來減輕 server 的負擔。
- 快取 : 可以從快取取得內容,提高效能,不用等到 server 回傳。
- 全球伺服器負載平衡 (GSLB):網站可以分散在全球的多台伺服器上,反向代理會根據地理位置用戶端請求傳送到離它們最近的伺服器。
參考資料: https://www.cloudflare.com/zh-tw/learning/cdn/glossary/reverse-proxy/