Reverse proxy là gì và khác forward proxy như thế nào

Cập nhật:

Reverse proxy là máy chủ đứng trước một hoặc nhiều máy chủ website, nhận yêu cầu từ người dùng rồi chuyển tới máy chủ phía sau, sau đó trả kết quả về như thể chính nó là website. Người truy cập chỉ thấy reverse proxy, không biết máy chủ thật ở đâu. Nginx, HAProxy, Caddy hay dịch vụ CDN đều thường được dùng làm reverse proxy để cân bằng tải, xử lý HTTPS, lưu bộ nhớ đệm và che máy chủ gốc. Ngược lại, forward proxy (loại proxy bạn mua để đổi IP) đứng về phía người dùng: nó đại diện cho bạn khi đi ra Internet, website chỉ thấy IP của proxy. Nói ngắn gọn, forward proxy che người dùng, reverse proxy che máy chủ. Bài này giải thích hai loại, có ví dụ cấu hình nginx và chỉ ra ai cần loại nào.

Forward proxy: đại diện cho người dùng

Forward proxy nằm giữa thiết bị của bạn và Internet. Bạn cấu hình trình duyệt hoặc phần mềm để gửi yêu cầu qua proxy; proxy thay bạn kết nối tới website. Website thấy IP của proxy, không thấy IP của bạn. Đây là loại proxy được bàn trong phần lớn bài viết trên trang này, từ proxy là gì tới các bài về IPv4 và ISP.

Người dùng forward proxy thường muốn: truy cập từ một quốc gia khác, tách IP cho nhiều tài khoản, thu thập dữ liệu công khai, hoặc doanh nghiệp muốn kiểm soát và lọc truy cập web của nhân viên. Phía cấu hình nằm ở máy người dùng.

Reverse proxy: đại diện cho máy chủ

Reverse proxy nằm ở phía website. Người dùng gõ tên miền, DNS trỏ tới reverse proxy, reverse proxy quyết định chuyển yêu cầu tới máy chủ ứng dụng nào phía sau. Người dùng không cần cấu hình gì, thậm chí không biết có reverse proxy.

Vai trò phổ biến của reverse proxy:

  • Cân bằng tải: chia yêu cầu cho nhiều máy chủ ứng dụng, bỏ qua máy đang lỗi.
  • Xử lý HTTPS: giữ chứng chỉ TLS tại một chỗ, máy chủ phía sau chỉ cần nói HTTP nội bộ.
  • Bộ nhớ đệm và nén: trả nhanh các trang hoặc file tĩnh mà không phải hỏi máy chủ ứng dụng.
  • Che máy chủ gốc và lọc lưu lượng: giới hạn tốc độ, chặn yêu cầu xấu trước khi tới ứng dụng.
  • Định tuyến theo đường dẫn: ví dụ /api đi tới một dịch vụ, phần còn lại đi tới dịch vụ khác.

So sánh forward proxy và reverse proxy

Forward proxyReverse proxy
Đứng về phíaNgười dùngMáy chủ website
Ai cấu hìnhNgười dùng, trên trình duyệt hoặc phần mềmQuản trị viên website
Che giấuIP của người dùngMáy chủ gốc phía sau
Mục đích chínhĐổi IP, tách tài khoản, kiểm soát truy cập ra ngoàiCân bằng tải, HTTPS, bộ nhớ đệm, bảo vệ
Công cụ thường gặpDịch vụ proxy, Squid, proxy công tynginx, HAProxy, Caddy, CDN
Người dùng có biết khôngCó, vì tự cài đặtThường không

Ví dụ cấu hình reverse proxy với nginx

Cấu hình tối thiểu dưới đây cho nginx nhận yêu cầu tới tên miền rồi chuyển về ứng dụng chạy ở cổng 3000 trên cùng máy chủ. Các header thêm vào giúp ứng dụng biết tên miền gốc và IP thật của người dùng.

server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

Với HAProxy, ý tưởng tương tự: một phần frontend nhận kết nối và một phần backend liệt kê các máy chủ ứng dụng để chia tải. Trong thực tế bạn sẽ thêm HTTPS, giới hạn kích thước yêu cầu và thời gian chờ.

Một yêu cầu có thể đi qua cả hai

Hai loại không loại trừ nhau. Khi bạn dùng forward proxy để mở một website lớn, yêu cầu đi từ máy bạn tới forward proxy, ra Internet, tới reverse proxy hoặc CDN của website, rồi mới vào máy chủ ứng dụng. Reverse proxy của website nhìn thấy IP của forward proxy, và đó là IP mà website ghi nhận.

Header X-Forwarded-For mà reverse proxy thêm vào chỉ dùng nội bộ giữa reverse proxy và ứng dụng. Ở chiều forward, một số proxy cũng thêm header tương tự và làm lộ IP thật; bài proxy ẩn danh là gì giải thích cách kiểm tra.

Ai cần loại nào

  • Bạn vận hành website hoặc API: cần reverse proxy, tự dựng bằng nginx, HAProxy hoặc dùng CDN. Bạn không cần mua proxy để làm việc này.
  • Bạn cần truy cập web từ IP hoặc quốc gia khác: cần forward proxy, ví dụ proxy Việt Nam hay proxy Mỹ.
  • Bạn quản lý nhiều tài khoản hoặc cào dữ liệu: cần forward proxy IP riêng. Xem cào dữ liệu web với proxy.
  • Bạn thử nghiệm website của mình từ nhiều quốc gia: dùng forward proxy để xem website hiển thị thế nào với người dùng nước ngoài, trong khi reverse proxy vẫn chạy ở phía máy chủ.

Forward proxy tại VinaProxy

VinaProxy cung cấp forward proxy: IPv4 datacenter riêng ở 7 nước và ISP tĩnh ở Việt Nam và Mỹ, giao thức HTTP/HTTPS, xác thực user và mật khẩu, mỗi IP một khách, không giới hạn băng thông. Chúng tôi không cung cấp dịch vụ reverse proxy hay CDN. Giá hiện tại xem trên bảng giá.

Câu hỏi thường gặp

Nginx là forward proxy hay reverse proxy?

Nginx chủ yếu được dùng làm reverse proxy và máy chủ web. Nó không được thiết kế làm forward proxy đầy đủ cho HTTPS nếu không có module bổ sung.

Reverse proxy có giúp đổi IP khi lướt web không?

Không. Reverse proxy phục vụ website, không đổi IP của người truy cập. Muốn đổi IP khi lướt web, bạn cần forward proxy.

CDN có phải reverse proxy không?

Có. CDN là mạng reverse proxy phân tán, đặt gần người dùng để lưu đệm nội dung và bảo vệ máy chủ gốc.

VPN là forward proxy hay reverse proxy?

VPN gần với forward proxy vì đại diện cho người dùng, nhưng hoạt động ở tầng mạng và mã hoá toàn bộ lưu lượng. Xem proxy và VPN khác nhau thế nào.

Có thể dùng proxy mua về làm reverse proxy cho website không?

Không phù hợp. Proxy mua về là forward proxy để đi ra Internet; reverse proxy cần chạy trên máy chủ bạn kiểm soát và trỏ tên miền vào đó.

Cần forward proxy IP riêng?

IPv4 datacenter 7 nước và ISP tĩnh Việt Nam, Mỹ. HTTP/HTTPS, user và mật khẩu, kích hoạt tự động sau khi thanh toán.

Xem bảng giá

Bài viết liên quan

Kiến thức proxy
Proxy là gì? Hướng dẫn dễ hiểu cho người mới
Proxy là gì? Giải thích dễ hiểu cách proxy server hoạt động, các loại proxy phổ biến, proxy dùng để làm gì và những việc proxy không làm được cho bạn.
Kiến thức proxy
Proxy và VPN: khác nhau ở đâu, khi nào dùng loại nào
Proxy và VPN khác nhau ở phạm vi, mã hóa, DNS và số IP dùng cùng lúc. Bảng so sánh, khi nào dùng loại nào và cách tự kiểm tra IP bạn đang dùng.
Kiến thức proxy
Proxy ẩn danh là gì: ba mức ẩn danh và cách kiểm tra
Proxy ẩn danh là proxy không gửi IP thật của bạn tới website. Tìm hiểu ba mức transparent, anonymous, elite, vai trò header X-Forwarded-For, Via và cách tự kiểm tra.
Ứng dụng
Proxy cho web scraping và thu thập dữ liệu
Chọn proxy cào dữ liệu web: IPv4 riêng datacenter cho tốc độ, Static ISP cho web khó tính, không giới hạn băng thông, cùng cách thu thập dữ liệu đúng mực.
Sản phẩm
Proxy tĩnh (IP tĩnh dân cư ISP) Việt Nam & Mỹ
Mua proxy tĩnh ISP dân cư tại Mỹ và Việt Nam: IP đăng ký nhà mạng dân dụng, mỗi IP chỉ một khách dùng, băng thông không giới hạn. Xem giá và mua ngay.
Sản phẩm
Proxy IPv4 datacenter riêng
Mua, thuê proxy IPv4 datacenter riêng tại Mỹ, Việt Nam, Nhật Bản, Hàn Quốc, Singapore, Anh, Hồng Kông. HTTP(S), băng thông không giới hạn, kích hoạt tự động.
ISP · vietnam
Proxy ISP tĩnh Việt Nam: IP mạng gia đình cho các tài khoản giá trị nhất của bạn
Proxy dân cư tĩnh Việt Nam (ISP tĩnh): proxy IP tĩnh từ nhà mạng dân cư cho shop Shopee chính, TikTok Shop, tài khoản quảng cáo Facebook và Zalo OA.
IPV4 · united states
Proxy IPv4 riêng Mỹ: IP datacenter Hoa Kỳ nhanh, dùng riêng và ổn định
Thuê proxy IPv4 Mỹ dùng riêng cho cào dữ liệu, theo dõi thứ hạng, duyệt quảng cáo và nghiên cứu Amazon. IP tĩnh, 1 người 1 IP, băng thông không giới hạn.