Đầu tiên "proxy" có nghĩa là một người hoặc một thứ gì đó "ra dẻ" là một người hay vật gì đó khác.
Trong mảng máy tính, proxy tức là một server hoạt động thay mặt cho một server khác
Để dễ hiểu, trong phạm vi bài viết này mình sẽ chỉ nói về web proxy tuy nhiên ý tưởng về proxy không đơn cử chỉ có websites.
FORWARD proxy
Đa số khi nói tới proxy, ta sẽ hiểu đó là "forward proxy"
Proxy event trong trường hợp này là việc "forward proxy" đọc dữ liệu từ website khác thay cho yêu cầu ban đầu
Hãy xem qua câu chuyện phía dưới
Câu chuyện về 3 cái máy tính (phần 1)
Ví dụ có 3 máy tính kết nối tới Internet.
X = máy tính của bạn
Y = Proxy website (proxy.web.org)
Z = Website bạn muốn truy cập (example.com)
Bình thường sẽ kết nối trực tiếp từ X --> Z
Tuy nhiên trong một vài trường hợp, tốt hơn là nên để Y --> Z
thay cho X
từ đó có kết nối X --> Y --> Z
.
Vì sao X muốn dùng forward proxy server?
Đây là một số nhỏ các trường hợp cần sử dụng forward proxy server:
1)
X
không truy cập trực tiếp tớiZ
được vìa) Ai đó có quyền admin qua kết nối internet của
X
quyết định rằng không cho bất kỳ ai truy cập tớiZ
.Ví dụ:
Nhân viên trong một công ty lớn dùng "phở bò" quá nhiều trong giờ làm việc nên họ muốn block không cho nhân viên truy cập trong giờ làm việc :D
Một trường cấp 1 nào đó chặn kết nối internet tới các trang web "không phù hợp" với học sinh như playboy.com chẳng hạn.
b) Admin của
z
đã blockX
Ví dụ:
Admin của
Z
nhận thấy có nghi vấn hacking tới từX
nên admin block luôn.Z
là một forum như là VOZ chẳng hạn :D rồi doX
spam toxic quá nênZ
block luôn.
REVERSE proxy
Lại là câu chuyện 3 cái máy tính (phần 2)
Trong câu chuyện này, X
không trực tiếp muốn truy cập Z
bởi vì X
chỉ biết rằng mình đang giao tiếp với Y
. Z
là vô hình với X
và chỉ có reverse proxy Y
biết tới Z
mà thôi. Reverse proxy không yêu cầu cấu hình proxy từ client side.
X
nghĩ rằng mình chỉ đang giao tiếp với Y
nhưng thực ra là Y
đang chuyển tất cả các giao tiếp tới Z
.
Tại sao Z
muốn set up reverse proxy server?
1)
Z
muốn tất cả traffic tới website của nó thông quaY
trước:- a)
Z
có một website lớn có hàng triệu người muốn truy cập, nhưng một web server không thể chịu nổi từng ấy tải vì vậyZ
set up nhiều server và cấu hình reverse proxy trên internet để gửi người dùng tới server gần nhất với họ khi truy cậpZ
. Đây chính là một phần trong câu hỏi Content Distribution Network (CDN) hoạt động ra sao.
- a)
2) Admin của
Z
lo rằng dữ liệu của website có thể bị hack nên không muốn công khai server chính một cách trực tiếp.