Cơ BảnSystem Design iconSystem Design

Forward Proxy và Reverse Proxy khác nhau như thế nào? Mỗi loại dùng trong trường hợp nào? (How do Forward Proxy and Reverse Proxy differ? When is each used?)

Forward Proxy đứng phía trước client, đại diện cho client gửi request ra ngoài – client biết về proxy, nhưng server ngoài không biết request thực sự đến từ đâu.

  • Dùng để: bypass geo-restriction, ẩn IP client, filter nội dung trong corporate network, caching outbound requests (giảm bandwidth).
  • Reverse Proxy đứng phía trước server, đại diện cho server nhận request từ client – client nghĩ mình đang nói chuyện với server thực, không biết có proxy ở giữa.
  • Dùng để: load balancing, SSL termination, caching, rate limiting, authentication, ẩn cấu trúc internal network.
  • Nginx và HAProxy thường đóng vai trò reverse proxy trong production; Squid là forward proxy phổ biến.
  • API Gateway về bản chất là một reverse proxy chuyên biệt với thêm tính năng như auth, routing, transformation.

Xem toàn bộ System Design cùng filter theo level & chủ đề con.

Mở danh sách System Design