Forward Proxy và Reverse Proxy
Forward Proxy
Khái niệm
Forward Proxy là một máy chủ hoạt động như một trung gian giữa một nhóm máy khách (clients) và Internet. Khi những máy khách muốn truy cập vào một tài nguyên trên Internet, yêu cầu của nó được gửi đến Proxy trước. Proxy sẽ thay mặt máy khách đó để gửi yêu cầu tới máy chủ đích, nhận phản hồi từ máy chủ đích và chuyển phản hồi đó về máy khách.
Tại sao lại cần forward proxy
Mình sẽ nêu một vài công dụng nổi bật mà mình biết về forward proxy ở đây:
- Bảo vệ danh tính của máy khách: Máy khách có thể ẩn địa chỉ IP thực của mình bằng cách sử dụng forward proxy đến một website bất kỳ. Chỉ có địa chỉ IP của proxy được hiển thị với website được tuy cập. Điều này làm cho việc truy ngược lại máy khách trở nên khó khăn hơn.
- Vượt qua các hạn chế truy cập: Một số tổ chức lớn như trường học, doanh nghiệp hay đơn giản là công ty bạn đang làm việc thường sử dụng firewall để hạn chế truy cập Internet. Bằng cách kết nối với một forward proxy bên ngoài tưởng lửa, máy khách hoàn toàn có thể vượt qua các hạn chế này. Tuy nhiên, cách này không phải lúc nào cũng hiệu quả vì firewall cũng có thể chặn kết nối đến proxy.
- Chặn truy cập vào nội dung nhất định: Ngoài việc chặn các hạn chế truy cập như bên trên, forward proxy hoàn toàn có thể sử dụng để áp dụng các quy tắc lọc không cho phép truy cập vào các website như mạng xã hội, website có nội dụng không phù hợp, ...Vì ta thường phải cấu hình máy client đi qua forward proxy nên đối với quy mô nhỏ thì sẽ không sao nhưng đối với quy mô lớn như các doanh nghiệp, công ty ... họ sẽ thường áp dụng một kỹ thuật đó là transparent proxy để đơn giản hóa quá trình này. Transparent Proxy sẽ không cần yêu cầu cấu hình hoặc nhận biết thiết bị từ phía máy khách. Các yêu cầu từ máy khách được tự động chuyển hướng đến proxy mà không cần sự can thiệp hoặc cấu hình đặc biệt trên thiết bị của máy khách (người dùng). Ta có thể thực hiện cấu hình các thiết bị mạng như router hoặc switch để tự động chuyển tiếp đến proxy.
- Lưu trữ cache: Proxy có thể lưu trữ tạm thời (cache) các tài nguyên đã truy cập để giảm tải và cải thiện phản hồi các yêu cầu sau này.
Một vài ví dụ thực tế
Từ những lý do về tại sao lại cần forward proxy ở trên mình sẽ lấy ví dụ về một vài ứng dụng về forward proxy:
- Giả sử khi bạn cần đọc tài liệu trên medium mà lại không truy cập được. Bạn hoàn toàn có thể sử dụng VPN để truy cập đến trang để đọc tài liệu
- Như một số công ty chặn các mạng xã hội như facebook, youtube, titkok,... trong giờ làm thì bạn hoàn toàn có thể sử dụng forward proxy (cách nhanh nhất là dùng VPN để truy cập. Cái này mình không khuyến khích nha =)) vì đi làm chứ không phải đi chơi mà truy cập mạng xã hội làm gì
- Sử dụng forward proxy để ghi lại lịch sử truy cập để quản trị viên có thể giám sát hoạt động của nhân viên chẳng hạn =)))
- ...
Reverse Proxy
Khái niệm
Reverse Proxy là một máy chủ nằm phía server hoạt động như một trung gian giữa các máy khách (clients) và một hoặc một nhóm các máy chủ đích (servers). Thay vì máy khách trực tiếp gửi yêu cầu tới máy chủ đích, yêu cầu được gửi tới reverse proxy. Reverse proxy sau đó chuyển tiếp yêu cầu tới máy chủ đích và nhận phản hồi từ máy chủ đích để gửi lại cho máy khách. Điều này giúp ẩn đi các máy chủ đích(servers) và cung cấp một lớp bảo mật hoặc cấu hình tăng hiệu suất cho máy chủ (servers).
Tại sao lại cần reverse proxy
Một vài công dụng nổi bật của reverse proxy có thể kể đến như:
- Cân bằng tải: các website lớn cần phải xử lý hàng triệu requets từ phía client, một máy chủ (servers) khó có thể xử lý lưu lượng truy cập lớn như vậy mà phải dùng nhiều máy chủ (servers). Cấu hình reverse proxy phân phối yêu cầu từ phía client đến nhiều máy chủ khác nhau đã được setup sẵn, đảm bảo rằng không một máy chủ nào bị quá tải và trang web luôn hoạt động một cách mượt mà nhất.
- Bảo vệ website: Địa chỉ IP của máy chủ (servers) sẽ được ẩn đi với client khi sử dụng reverse proxy. Vì vậy sẽ khiến cho các DDoS attacker khó khăn hơn.
- Cached: những nội dung tĩnh hoàn toàn có thể lưu trữ trên reverse proxy một khoảng thời gian nhất định. Nếu cùng một nôi dung đã được cache trên proxy thì proxy có thể nhanh chóng trả về nội dung cho phía máy khách mà không cần gửi yêu cầu đến servers giúp tăng hiệu suất và giảm tải cho server.
- Mã hóa SSL: reverse proxy có thể xử lý mã hóa SSL, việc handshake SSL có chi phí rất tốn kém. Reverse proxy có thể đảm nhiệm phần công việc tốn kém này. Proxy sẽ xử lý mã hóa SSL cho tất cả các yêu cầu đến và đi, giảm bớt gánh nặng mã hóa cho phía máy chủ (servers)
Một vài ví dụ thực tế
Từ những lý do về tại sao lại cần forward proxy ở trên mình sẽ lấy ví dụ về một vài ứng dụng về forward proxy:
- Ứng dụng về các Edge Service như là Cloudflare, các reverse proxy được triển khai trên khắp thế giới, gần với clients giúp cải thiện tốc độ và khả năng xử lý.
- API Gateway hoặc Load Balancer: Các dịch vụ này kết hợp reverse proxy và cân bằng tải để phân phối yêu cầu đến một cụm các máy chủ web giúp đảm bảo yêu cầu được xử lý nhanh chóng và hiệu quả, ngay cả khi có lưu lượng truy cập lớn.
All rights reserved