Reverse Proxy là gì — tại sao đa số hệ thống backend đều dùng?

Trong kiến trúc hiện đại, các ứng dụng web hiếm khi để backend tiếp xúc trực tiếp với internet. Hầu hết hệ thống đều đặt một lớp trung gian gọi là reverse proxy ở phía trước. Reverse proxy giúp bảo mật, cân bằng tải, cache, tối ưu SSL và quản lý kết nối hiệu quả. Nếu bạn triển khai backend mà không có reverse proxy, bạn đang tự gây khó cho chính mình.

Reverse Proxy là gì — tại sao đa số hệ thống backend đều dùng?

Reverse Proxy là gì

Reverse Proxy là một server trung gian đứng giữa client và backend. Khi người dùng gửi request, reverse proxy sẽ tiếp nhận, xử lý một phần và gửi tiếp vào backend. Backend chỉ giao tiếp với reverse proxy, không giao tiếp trực tiếp với internet.

Cách reverse proxy hoạt động

Khi có request đến, reverse proxy thực hiện các bước:

  1. Nhận request từ trình duyệt.
  2. Kiểm tra route, rule định tuyến hoặc cache.
  3. Chuyển request đến backend phù hợp.
  4. Nhận phản hồi từ backend và trả lại cho client.

Backend không hề biết client là ai. Toàn bộ traffic đều đi qua reverse proxy.

Lợi ích của reverse proxy

  • Bảo mật backend, ẩn toàn bộ IP và port nội bộ.
  • Terminating SSL/TLS (reverse proxy xử lý HTTPS, backend chỉ chạy HTTP).
  • Caching response để giảm tải backend.
  • Load balancing giữa nhiều backend.
  • Gộp nhiều dịch vụ backend thành một domain duy nhất.

Reverse Proxy khác gì Forward Proxy

Tiêu chí Forward Proxy Reverse Proxy
Đứng phía nào Phía client Phía server
Mục đích Ẩn thông tin client Ẩn backend, tối ưu hệ thống
Ứng dụng phổ biến VPN, proxy internet Web server, hệ thống backend

Tại sao backend cần reverse proxy

Backend như Node.js, Python hoặc PHP-FPM không được thiết kế để:

  • Quản lý nhiều kết nối đồng thời
  • Chạy trên port 80/443 công khai
  • Tối ưu bảo mật layer HTTP/HTTPS

Reverse proxy xử lý lớp giao tiếp HTTP, backend tập trung vào business logic.

SSL/TLS Offloading

Reverse proxy thường đảm nhiệm việc xử lý HTTPS thay backend. Backend chỉ cần chạy HTTP. Điều này giảm tải cho backend và đơn giản hóa config.

Load Balancing

Khi hệ thống lớn cần nhiều backend, reverse proxy tự động chia request theo các thuật toán như round robin, least connection. Điều này giúp tăng khả năng chịu tải và giảm bottleneck.

Cache response

Reverse proxy có thể cache file tĩnh hoặc thậm chí toàn bộ response. Ví dụ: Nginx hoặc LiteSpeed có thể cache page HTML mà không cần backend chạy lại logic.

Các reverse proxy phổ biến

  • Nginx: phổ biến nhất, nhẹ, mạnh, phù hợp mọi loại backend.
  • Apache + mod_proxy: linh hoạt, dùng trên hệ thống cũ.
  • HAProxy: chuyên về load balancing, hiệu năng cao.
  • Traefik: sinh ra cho Docker, tự cập nhật route từ container.

Kết luận

Reverse proxy không chỉ để điều phối request, mà là lớp bảo vệ và tối ưu toàn hệ thống backend. Nó giúp giảm tải, tăng hiệu năng, tăng bảo mật và dễ dàng mở rộng khi traffic tăng. Trong một hệ thống web chuyên nghiệp, reverse proxy gần như là thành phần bắt buộc.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...