Reverse Proxy
Trong Backend, Reverse Proxy là một thành phần trung gian đóng vai trò nhận request từ client và chuyển tiếp request đó đến server nội bộ phía sau. Sau khi server xử lý và trả kết quả, reverse proxy lại gửi kết quả đó về client. Reverse Proxy thường dùng trong các hệ thống microservices hoặc hệ thống web có kiến trúc phân tầng.
🎯 Mục tiêu chính của Reverse Proxy:
Ẩn backend nội bộ khỏi client
Cân bằng tải (Load Balancing)
Caching
SSL Termination
Routing thông minh
Thêm bảo mật (Firewall, Rate Limiting)
🔁 Reverse Proxy vs Forward Proxy
Client biết Proxy?
Có
Không
Proxy đại diện cho?
Client
Server
Dùng cho?
Ẩn danh, vượt tường lửa
Bảo vệ backend, cân bằng tải
🏗️ Reverse Proxy hoạt động như thế nào?
Giả sử kiến trúc như sau:
Client --> Reverse Proxy (Nginx/API Gateway) --> Backend Services
Client gửi request đến
https://api.example.com/products
Reverse proxy (ví dụ: Nginx hoặc Spring Cloud Gateway) bắt request đó và chuyển tiếp đến dịch vụ nội bộ như
http://product-service:8080/api/products
Sau khi backend xử lý xong, reverse proxy nhận kết quả và trả về cho client.
🔧 Reverse Proxy dùng gì?
Một số công cụ phổ biến làm reverse proxy:
Nginx
Reverse proxy HTTP phổ biến, hiệu suất cao
HAProxy
Cân bằng tải chuyên nghiệp, hỗ trợ TCP/HTTP
Traefik
Reverse proxy hiện đại, dễ tích hợp với Docker
Spring Cloud Gateway
Dành cho microservices dùng Spring Boot
Envoy
Proxy mạnh, dùng trong hệ thống service mesh
📌 Use-case trong Backend (thực tế):
Trong Microservices:
Dùng API Gateway làm reverse proxy.
Routing:
/api/users/**
→user-service
,/api/orders/**
→order-service
Auth/Rate-limiting được xử lý ngay tại gateway.
Gom nhiều backend thành 1 domain:
https://example.com/shop
→ chuyển tới frontendhttps://example.com/api/products
→ chuyển tới backend
✅ Ưu điểm của Reverse Proxy
Ẩn danh backend thực (bảo mật)
Cân bằng tải backend
Dễ triển khai cache
Dễ triển khai SSL
Hạn chế DDoS
🧠 Từ góc nhìn Senior Backend Developer:
Reverse proxy là xương sống khi build hệ thống scalable và secure.
Trong Spring Boot, bạn nên để reverse proxy (API Gateway) đảm nhiệm:
Routing
Token validation
CORS
Logging & rate limiting
Backend services chỉ tập trung vào business logic.
Last updated