Trong mạng máy tính, proxy là một máy chủ trung gian giữa client và các server khác trên Internet. Khi client gửi yêu cầu đến server, request sẽ được gửi đến proxy trước. Sau đó, proxy sẽ gửi request đến server thay cho client và trả về response cho client.
Tại sao lại cần có proxy?
Thay vì kết nối trực tiếp tới server, client gửi request đến proxy để đánh giá và thực hiện những request đó.
- Bảo vệ quyền riêng tư: Proxy có thể được sử dụng để ẩn địa chỉ IP của client, giúp bảo vệ quyền riêng tư của người dùng khỏi các trang web và ứng dụng mà họ truy cập.
- Cân bằng tải (Load balancing): Proxy có thể được sử dụng để phân phối lưu lượng truy cập giữa nhiều server, giúp cải thiện hiệu suất và độ tin cậy của hệ thống.
- Bảo mật (Security): Proxy có thể được sử dụng để lọc lưu lượng truy cập, giúp ngăn chặn các cuộc tấn công mạng.
- Giảm chi phí: Proxy có thể được sử dụng để truy cập các tài nguyên từ xa, giúp giảm chi phí cho doanh nghiệp.
Có 2 loại proxy thường gặp đó là Forward proxy và Reverse proxy.
Forward proxy
- Là một client proxy, hoạt động thay mặt cho các thiết bị clients để gửi yêu cầu đến server.
- Nó nằm giữa clients và Internet, chuyển tiếp các requests của clients đến server thông qua Internet.
Use cases:
- Access control and content filtering: forward proxy kiểm tra các request có hợp lệ hay không để thực hiện forward hoặc block request.
- Log/Monitor request: quản lý và giám sát các request, thường được sử dụng trong môi trường công ty, trường học hay các tổ chức để kiểm soát việc truy cập Internet và bảo vệ khỏi các nội dung độc hại.
- User Privacy: forward proxy nằm giữa client và Internet, nó thay mặt client gửi request đến server qua Internet, có thể che dấu danh tính, địa chỉ IP và bảo vệ quyền riêng tư của người dùng thực.
- Cache responses: giảm độ trễ, tăng performance, tối ưu bandwidth, proxy cache lại response để trả về cho client trong các lần request tiếp theo thay vì request trực tiếp đến server.
Services:
- Squid
- Privoxy
- VPN services
- Cloudflare WARP
Reverse proxy
- Là một server proxy, nằm giữa Internet và server để xử lý các request thay mặt cho server.
- Chúng hoạt động như những servers bình thường. Reverse proxy chuyển tiếp request đến một hoặc nhiều server thật, kết quả sau đó trả về cho client, làm cho client không biết về những server thật nói trên.
- Reverse proxy được cài đặt trong một private network của một hoặc nhiều server, và tất cả lưu lượng truy cập đều phải đi qua proxy này.
Use cases:
- Load Balancing: cân bằng tải, phân bổ lượng truy cập trang web đến các máy chủ khác nhau, nhằm mục đích tăng throughput, giảm letancy, phục vụ số lượng client lớn hơn.
- Security: có thể coi reverse proxy là một Web Application Firewall (WAF), có nhiệm vụ chặn các truy cập khả nghi đến server, làm rate limit, một phần nào đó ngăn chặn tấn công DDoS.
- Cache responses: giảm độ trễ, tăng performance, tối ưu bandwidth, proxy cache lại response để trả về cho client trong các lần request tiếp theo thay vì request trực tiếp đến server.
- SSL encryption/decryption: reverse proxy có thể xử lý việc SSL termination (dừng), giải mã lưu lượng được mã hóa SSL từ client và chuyển tiếp nó đến máy chủ phụ trợ ở dạng không được mã hóa và ngược lại.
Services:
- Nginx
- Apache HTTP
- HAProxy
- CDN services
Điểm khác biệt chính
- Forward proxy:
- Xử lý request từ client tới Internet.
- Bảo vệ quyền riêng tư client và lọc nội dung.
- Reverse proxy:
- Xử lý request từ Internet tới web servers.
- Performance và security.
Nguồn: https://blog.bytebytego.com
Cảm ơn mọi người đã dành thời gian để đọc 🙇♂️