Forward Proxy (hay gọi tắt Proxy) và Reverse Proxy đóng vai trò quan trọng trong việc bảo đảm quyền riêng tư của người dùng, cũng như việc tăng cường hiệu suất và bảo mật với máy chủ Web. Cùng Cookie Hân Hoan tìm hiểu về hai loại này nhé.
Mục lục
Forward Proxy
Hãy tưởng tượng bạn muốn mua một món đồ chơi mà chỉ có ở một cửa hàng ở nước ngoài, nhưng cửa hàng đó chặn luôn việc ship hàng tới Việt Nam. Bạn có một người bạn ở nước đó, bạn nhờ cậu ý mua hộ món đồ chơi. Người bạn này chính là “Forward Proxy”. Cậu ý sẽ đi mua và gửi về cho bạn. Cửa hàng sẽ không biết rằng món đồ chơi đang được mua để gửi về Việt Nam, và cũng không biết người mua thực sự là bạn.
Khi client muốn truy cập một trang web nhưng không muốn trang đó biết địa chỉ IP của bạn, hoặc chặn ở quốc gia của bạn, bạn có thể sử dụng một Forward Proxy.
Bạn gửi HTTP Request đến Forward Proxy, nó sẽ copy y hệt yêu cầu của bạn và gửi đến trang web. Trang web sau đó gửi HTTP Response lại cho Forward Proxy, và Forward Proxy sẽ gửi thông tin lại cho bạn.
Forward Proxy dùng để làm gì?
Ẩn danh (Anonymity). Do máy chủ mục tiêu sẽ không biết người truy cập đứng đằng sau proxy là ai. Do đó, người dùng có thể duyệt web ẩn danh, an toàn và bảo mật hơn
Vượt qua các giới hạn về địa lý (Bypassing geo-restrictions): Nhiều cơ quan chính phủ, công ty dùng địa chỉ IP để xác định vị trí của người dùng và đưa ra các chính sách hạn chế nội dung. Dùng Proxy của các quốc gia khác sẽ bạn vượt qua được sự giới hạn này
Thu thập dữ liệu (Data collection): Chúng ta gửi gì nhận gì Proxy nó đều biết. Nên nhiều tổ chức cung cấp các giải pháp Proxy miễn phí nhằm thu thập các dữ liệu, số liệu phục vụ kinh doanh.
Reverse Proxy
Reverse Proxy giống như một lễ tân trong một khu chung cư. Khi một người giao hàng đến, họ không trực tiếp giao hàng đến từng căn hộ. Thay vào đó, họ sẽ gặp lễ tân (Reverse Proxy), và lễ tân sẽ nhận gói hàng và giao nó đến căn hộ phù hợp.
Đây chính là cách Reverse Proxy hoạt động trong mạng máy tính. Nó nhận các yêu cầu từ ngoài (client), và sau đó định tuyến chúng đến các máy chủ nội bộ phù hợp (server). Điều này giúp bảo vệ các máy chủ nội bộ khỏi truy cập trực tiếp từ ngoài, đồng thời cũng giúp cải thiện hiệu suất bằng cách phân phối tải giữa các máy chủ.
Reverse Proxy dùng để làm gì?
Cân bằng tải (Stability): Nếu quá nhiều người dùng cùng truy cập vào một máy chủ, nó sẽ bị quả tải vì không đủ tài nguyên phục vụ. Sử dụng Reverse Proxy để kiểm soát, điều phối các truy cập của người dùng vào những máy chủ đang rảnh rỗi,
Hiệu suất cao (Performance): Nhiều trang web load rất nhiều tài nguyên như video, hình ảnh và các file tĩnh khác. Nếu ai cũng đòi xem bản gốc thì sẽ tốn rất nhiều thời gian để lấy ra và xử lý. Reverse Proxy sẽ đứng ra lưu lại các bản sao để có thể dễ dàng lấy ra nhanh chóng.
Bảo mật (Security): Dùng Reverse Proxy để che giấu các điểm nhận dạng máy chủ mục tiêu, khiến Hacker khó khăn hơn trong việc tấn công
Reverse HTTP Header
Reverse Proxy nhận yêu cầu từ client, nó thường thêm một số HTTP Header vào HTTP Request trước khi chuyển tiếp nó đến máy chủ proxy. Điều này cho phép máy chủ biết thêm một số thông tin về yêu cầu ban đầu, bao gồm địa chỉ IP của client, hoặc thực sự là client muốn vào cái nào bên trong.
- X-Forwarded-For: Địa chỉ IP của client. Nếu yêu cầu đi qua nhiều proxy, địa chỉ IP của mỗi client hoặc proxy sẽ được thêm vào danh sách.
- X-Forwarded-Proto: Giao thức mà client sử dụng để kết nối với proxy. Điều này thường là “http” hoặc “https”.
- X-Real-IP: Địa chỉ IP thực sự của client. Đây cũng là một cách để truyền địa chỉ IP của client, tương tự như X-Forwarded-For.
- X-Forwarded-Host: Địa chỉ host mà client muốn kết nối.
Không phải tất cả các Reverse Proxy đều sử dụng những HTTP Header này, người quản trị hệ thống có thể cấu hình những HTTP Header khác nhau hoặc không sử dụng HTTP Header nào cả. Tuy nhiên, các HTTP Header trên là những tiêu đề phổ biến nhất.
What do you think?
It is nice to know your opinion. Leave a comment.