0
0
Lập trình
NM

Hiểu Biết Sâu Về Proxy: Sự Khác Biệt Giữa Reverse Proxy và Forward Proxy, Forward Port, và Load Balancer

Đăng vào 1 tháng trước

• 8 phút đọc

Giới Thiệu Về Proxy

Proxy là một máy chủ trung gian, thực hiện vai trò truyền tải yêu cầu giữa client (máy người dùng) và server (máy chủ đích). Proxy không chỉ giúp bảo mật và tăng hiệu suất mà còn kiểm soát truy cập mạng, do đó có nhiều loại proxy nên bạn cần nắm rõ.

Các Loại Proxy Cần Biết

Loại Proxy Khái Niệm Ứng Dụng Công Cụ/Ứng Dụng Thực Tế
Transparent Proxy Làm việc mà không thay đổi yêu cầu hoặc dữ liệu, vẫn tiết lộ địa chỉ IP của người dùng Lọc nội dung, kiểm tra lưu lượng mạng mà không làm gián đoạn kết nối Squid, Websense, Cisco Umbrella
Anonymous Proxy Ẩn danh địa chỉ IP của người dùng, giúp bảo vệ sự riêng tư Bảo mật khi duyệt web, ẩn danh trong các giao dịch trực tuyến Tor, HideMyAss, ProxySite
Forward Proxy Làm trung gian giữa máy khách và máy chủ, lọc yêu cầu từ người dùng Kiểm soát truy cập internet, lọc nội dung web Squid Proxy Server, Blue Coat ProxySG, Zscaler
Residential Proxy Sử dụng địa chỉ IP của nhà cung cấp dịch vụ internet thực tế Thu thập dữ liệu web, kiểm tra quảng cáo, vượt qua hạn chế khu vực Luminati, Smartproxy, GeoSurf
Rotating Proxy Thay đổi địa chỉ IP theo chu kỳ hoặc mỗi yêu cầu Thu thập dữ liệu web, vượt qua giới hạn tiếp cận ScraperAPI, ProxyCrawl, Storm Proxies
Data Center Proxy Lưu trữ trong trung tâm dữ liệu, không liên kết với ISP cụ thể Cung cấp dịch vụ proxy với chi phí thấp Blazing SEO, MyPrivateProxy, Oxylabs
Reverse Proxy Nhận yêu cầu từ người dùng và chuyển tiếp đến các máy chủ nội bộ Phân phối lưu lượng, bảo vệ máy chủ web Nginx, HAProxy, Traefik
SOCKS Proxy Giao thức có thể xử lý nhiều loại lưu lượng khác nhau Sử dụng cho ứng dụng yêu cầu bảo mật và ẩn danh cao Shadowsocks, Proxychains, SocksiPy
HTTP Proxy Xử lý lưu lượng HTTP/HTTPS, quản lý yêu cầu web Lọc nội dung web, tăng tốc độ truy cập qua bộ nhớ đệm Charles Proxy, Fiddler, Burp Suite

Reverse Proxy và Forward Proxy

Forward Proxy

Forward Proxy là một dịch vụ proxy trung gian giữa client và server. Khi client gửi yêu cầu, Forward Proxy sẽ gửi yêu cầu này đến server thay mặt cho client, sau đó nhận phản hồi và chuyển về cho client.

Ứng Dụng của Forward Proxy:

  • Ẩn địa chỉ IP thật của client.
  • Kiểm soát truy cập internet trong doanh nghiệp.
  • Bỏ chặn hoặc truy cập nội dung bị giới hạn theo địa lý.

Ví dụ: VPN, Tor hay proxy HTTP trong trình duyệt của bạn.

Reverse Proxy

Reverse Proxy đóng vai trò đơn lẻ trước server và tiếp nhận các yêu cầu từ client, sau đó chuyển tiếp đến server backend tương ứng.

Ứng Dụng của Reverse Proxy:

  • Tăng cường bảo mật: Giấu địa chỉ IP thật của server backend.
  • Cân bằng tải: Phân phối lưu lượng đến nhiều server backend.
  • Caching: Lưu trữ nội dung tĩnh để giảm tải cho server backend.
  • SSL Termination: Xử lý mã hóa HTTPS thay cho server backend.

Ví dụ: Nginx, Apache, HAProxy, Cloudflare.

So Sánh Forward Proxy và Reverse Proxy

Đặc điểm Forward Proxy Reverse Proxy
Vị trí triển khai Trước client Trước server
Mục đích Ẩn danh client, kiểm soát truy cập Bảo vệ và tối ưu server
Bảo mật Bảo vệ client Bảo vệ backend server
Caching Giúp client truy cập nhanh hơn Giảm tải cho server
Load Balancing Không hỗ trợ Hỗ trợ

Forward Port

Forward Port là kỹ thuật ánh xạ một cổng mạng từ một IP cụ thể đến một thiết bị hoặc dịch vụ khác trong hệ thống.

Ứng Dụng của Forward Port:

  • Cho phép truy cập dịch vụ nội bộ từ bên ngoài (VD: truy cập SSH, RDP).
  • Định tuyến traffic đến container trong môi trường Docker.
  • Cấu hình NAT trong mạng nội bộ.

Ví dụ: Nếu bạn có một server chạy ứng dụng web trên cổng 8080, bạn có thể chuyển tiếp cổng 80 đến 8080 để thuận tiện hơn.

Load Balancer

Load Balancer là hệ thống giúp phân phối traffic đến nhiều server backend nhằm đảm bảo hiệu suất và tính sẵn sàng cao.

Các Phương Pháp Load Balancing Phổ Biến:

  • Round Robin: Gửi request lần lượt đến từng server.
  • Least Connections: Gửi request đến server có ít kết nối nhất.
  • IP Hash: Chuyển hướng client cố định đến cùng một server dựa trên địa chỉ IP.
  • Weighted Load Balancing: Phân bổ dựa trên trọng số từng server.

Ví dụ: AWS Elastic Load Balancer, Nginx, HAProxy.

Kết Luận

Hiểu rõ về các khái niệm như Proxy, Reverse Proxy, Forward Proxy, Forward Port, và Load Balancer sẽ giúp bạn làm việc hiệu quả hơn với hệ thống mạng và web server, đồng thời tối ưu hóa hiệu suất hệ thống.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào