Sự khác biệt giữa máy chủ proxy và máy chủ proxy ngược là gì?


1773

Sự khác biệt giữa máy chủ proxy và máy chủ proxy ngược là gì?


51
Nó cũng được giải thích trong các tài liệu Apache .
Paolo

3
@Paolo mà làm cho nó nhiều dễ hiểu hơn các bài viết Wikipedia. Có lẽ tôi nên đi xung quanh để chỉnh sửa một số thông tin đó vào bài viết Wikipedia cuối cùng ...
RastaJedi

Hãy nói rằng tôi có máy chủ A cần kết nối với máy chủ C, nhưng không trực tiếp. Thay vào đó, nó được cấu hình như một mục nhập máy chủ hoặc có thể là dns, để gọi B chuyển tiếp yêu cầu tới C. C không quan tâm hoặc biết về B. Đây là proxy chuyển tiếp hoặc proxy ngược?
Daniel Leach

Nếu máy chủ A không thể truy cập máy chủ C mà không được định cấu hình cho máy chủ liên hệ B đầu tiên, thì máy chủ B là máy chủ proxy chuyển tiếp hoặc "ra ngoài" truyền thống.
TaylorMonacelli

5
Proxy chuyển tiếp cấp cho khách hàng ẩn danh (nghĩa là nghĩ Tor). Proxy ngược cấp cho ẩn danh máy chủ cuối (nghĩa là nghĩ rằng máy chủ đằng sau DMZ).
8bitjunkie

Câu trả lời:


2969

Các câu trả lời trước đó là chính xác, nhưng có lẽ quá ngắn gọn. Tôi sẽ cố gắng thêm một số ví dụ.

Trước hết, từ "proxy" mô tả ai đó hoặc một cái gì đó hành động thay mặt cho người khác.

Trong lĩnh vực máy tính, chúng ta đang nói về một máy chủ hoạt động thay mặt cho một máy tính khác.

Với mục đích truy cập, tôi sẽ giới hạn thảo luận của mình đối với các proxy web - tuy nhiên, ý tưởng về proxy không giới hạn ở các trang web.

FORWARD proxy

Hầu hết các cuộc thảo luận về proxy web đều đề cập đến loại proxy được gọi là "proxy chuyển tiếp".

Trong trường hợp này, sự kiện proxy là "proxy chuyển tiếp" lấy dữ liệu từ một trang web khác thay cho người yêu cầu ban đầu.

Câu chuyện về 3 máy tính (phần I)

Ví dụ, tôi sẽ liệt kê ba máy tính được kết nối với internet.

  • X = máy tính của bạn hoặc máy tính "máy khách" trên internet
  • Y = trang web proxy, proxy.example.org
  • Z = trang web bạn muốn truy cập, www.example.net

Thông thường, người ta sẽ kết nối trực tiếp từ X --> Z.

Tuy nhiên, trong một số trường hợp, tốt hơn là Y --> Zthay mặt X, chuỗi nào như sau : X --> Y --> Z.

Lý do tại sao X muốn sử dụng máy chủ proxy chuyển tiếp:

Dưới đây là danh sách một phần (rất) sử dụng của máy chủ proxy chuyển tiếp:

  • 1) X không thể truy cập Z trực tiếp vì

    • a) Một người có thẩm quyền quản trị về Xkết nối internet đã quyết định chặn tất cả quyền truy cập vào trang web Z.

      • Ví dụ:

        • Virus Storm Worm đang lây lan bằng cách lừa mọi người truy cập familypostcards2008.com, vì vậy, quản trị viên hệ thống đã chặn quyền truy cập vào trang web để ngăn người dùng vô tình tự lây nhiễm.

        • Nhân viên tại một công ty lớn đã lãng phí quá nhiều thời gian facebook.com, vì vậy ban quản lý muốn truy cập bị chặn trong giờ làm việc.

        • Một trường tiểu học địa phương không cho phép truy cập internet vào playboy.comtrang web.

        • Một chính phủ không thể kiểm soát việc xuất bản tin tức, vì vậy nó kiểm soát quyền truy cập vào tin tức thay vào đó, bằng cách chặn các trang web như wikipedia.org. Xem ĐKTC hoặc FreeNet .

    • b) Quản trị viên Zđã chặn X.

      • Ví dụ:

        • Quản trị viên của Z đã nhận thấy các nỗ lực hack đến từ X, vì vậy quản trị viên đã quyết định chặn địa chỉ IP của X (và / hoặc netrange).

        • Z là một trang web diễn đàn. Xđang spam diễn đàn. Khối Z.

Proxy của REVERSE

Câu chuyện về 3 máy tính (phần II)

Trong ví dụ này, tôi sẽ liệt kê ba máy tính được kết nối với internet.

  • X = máy tính của bạn hoặc máy tính "máy khách" trên internet
  • Y = trang web proxy ngược, proxy.example.com
  • Z = trang web bạn muốn truy cập, www.example.net

Thông thường, người ta sẽ kết nối trực tiếp từ X --> Z.

Tuy nhiên, trong một số trường hợp, tốt hơn hết là người quản trị Znên hạn chế hoặc không cho phép truy cập trực tiếp và buộc khách truy cập phải đi qua Y trước. Vì vậy, như trước đây, chúng tôi có dữ liệu được truy xuất Y --> Zthay mặt X, chuỗi nào như sau : X --> Y --> Z.

Điều khác biệt lần này so với "proxy chuyển tiếp" là lần này người dùng Xkhông biết anh ta đang truy cập Z, vì người dùng Xchỉ thấy anh ta đang liên lạc Y. Máy chủ Zlà vô hình cho khách hàng và chỉ có proxy ngược Yđược hiển thị bên ngoài. Một proxy ngược không yêu cầu cấu hình (proxy) ở phía máy khách.

Khách hàng Xnghĩ rằng anh ta chỉ giao tiếp với Y( X --> Y), nhưng thực tế là Ychuyển tiếp tất cả giao tiếp ( X --> Y --> Zmột lần nữa).

Lý do tại sao Z muốn thiết lập máy chủ proxy ngược:

  • 1) Z muốn buộc tất cả lưu lượng truy cập vào trang web của mình phải vượt qua Y trước tiên.
    • a) Z có một trang web lớn mà hàng triệu người muốn xem, nhưng một máy chủ web không thể xử lý tất cả lưu lượng. Vì vậy, Z thiết lập nhiều máy chủ và đặt proxy ngược trên internet sẽ đưa người dùng đến máy chủ gần họ nhất khi họ cố gắng truy cập Z. Đây là một phần trong cách hoạt động của khái niệm Mạng phân phối nội dung (CDN).
  • 2) Quản trị viên của Z lo lắng về việc trả đũa nội dung được lưu trữ trên máy chủ và không muốn tiếp xúc trực tiếp với máy chủ chính trước công chúng.
    • a) Chủ sở hữu các nhãn hiệu Spam như "Dược phẩm Canada" dường như có hàng ngàn máy chủ, trong khi thực tế có hầu hết các trang web được lưu trữ trên các máy chủ ít hơn nhiều. Ngoài ra, lạm dụng khiếu nại về thư rác sẽ chỉ tắt các máy chủ công cộng, không phải máy chủ chính.

Trong các kịch bản trên, Zcó khả năng lựa chọn Y.

Liên kết đến các chủ đề từ bài viết:

Mạng phân phối nội dung

Chuyển tiếp phần mềm proxy (phía máy chủ)

Phần mềm proxy ngược cho HTTP (phía máy chủ)

Phần mềm proxy ngược cho TCP (phía máy chủ)

Xem thêm:


1
TAM (trình quản lý truy cập tivoli) cũng là một máy chủ proxy ngược, phải không?
Clark Bảo

2
Về mặt khái niệm sau đó, chúng ta có thể đề cập đến hoặc nghĩ về một "proxy ngược" sau đó là một proxy "bắt buộc"?
Thomas

3
"Điều đó sẽ đưa người dùng đến máy chủ gần họ nhất" - Vấn đề là gì? Tất cả lưu lượng sẽ đi qua máy chủ proxy đó, phải không? Vì vậy, không quan trọng vị trí của máy chủ 'cục bộ' phía sau nó. Hay tôi đang thiếu một cái gì đó?
Pavel

2
@Pavel có lẽ "máy chủ gần họ nhất" không phải là mô tả tốt nhất. Giống như "phân phối tải cho nhóm máy chủ" là mô tả tốt hơn. Ví dụ này đã mô tả một bộ cân bằng tải proxy ngược.
JDS

6
Đây là chìa khóa cho tôi: - về phía trước : (X --> Y) --> Z, ngược lại : X --> (Y --> Z).
Druckles

538

Một cặp định nghĩa đơn giản sẽ là:

Proxy chuyển tiếp: Hoạt động thay mặt cho người yêu cầu (hoặc người tiêu dùng dịch vụ)

Reverse Proxy: Hoạt động thay mặt cho nhà sản xuất dịch vụ / nội dung.


413

Tôi tìm thấy sơ đồ dưới đây rất hữu ích. Nó chỉ hiển thị kiến ​​trúc của một thiết lập proxy chuyển tiếp so với đảo ngược từ máy khách đến máy chủ qua Internet. Hình ảnh này sẽ giúp bạn hiểu câu trả lời của qyb2zm302 và các câu trả lời khác tốt hơn.

Proxy chuyển tiếp so với Proxy ngược

Bạn cũng có thể xem video này từ F5 's DevCentral Peter Silva.

Nguồn ảnh: Quora . Tuy nhiên, theo Martijn Pieters , hình ảnh này có thể là từ xung an toàn cộng đồng hoặc Julien Pauli của trang web (bằng tiếng Pháp) tại developpez.com.

Nó làm tôi nhớ đến câu tục ngữ cổ điển:

Một bức tranh có giá trị 1000 từ.


9
Đây thực sự là tất cả những gì bạn cần xem xét. Thiết lập proxy trong trình duyệt của bạn để Netflix không biết quốc gia bạn đang ở là proxy chuyển tiếp; một dịch vụ ngược dòng chỉ đạo một yêu cầu đến (có lẽ bạn muốn gửi một yêu cầu đến hai máy chủ) là một proxy ngược.
Kyle Chadha

5
Proxy chuyển tiếp cũng có thể có trên internet
mac

7
Hình ảnh tốt nhất trong câu trả lời cuối cùng. Cảm ơn. :) Một proxy ngược còn được gọi là "Load Balancer" và hoạt động ở phía máy chủ (phân phối tải cho các máy chủ khác nhau), trong khi proxy chuyển tiếp hỗ trợ phía máy khách.
codepleb

1
Tác giả quora không phải là tác giả gốc của hình ảnh, vì trang này từ năm 2013 với một lần sửa đổi là một năm tuổi.
Martijn Pieters

1
Nó có thể là hướng dẫn tiếng Pháp từ năm 2009 này là nguồn; các bản sao lưu trữ web 2009 là có vấn đề javascript (tiếp theo chuyển hướng), và những hình ảnh chỉ được lưu trữ trong năm 2017, nhưng các tài liệu tham khảo nguồn URL hình ảnh tương tự như các nguồn sau.
Martijn Pieters

230

Proxy chuyển tiếp so với Proxy ngược (2012) giải thích rất rõ sự khác biệt giữa proxy chuyển tiếp và proxy ngược.

Câu trả lời của qyb2zm302 chi tiết độc đáo về các ứng dụng của proxy, nhưng nó trượt theo khái niệm cơ bản giữa các proxy thuận và ngược. Đối với proxy ngược, X → Y → Z, X biết về Y chứ không phải Z, thay vì ngược lại.

Một proxy chỉ đơn giản là một người trung gian để liên lạc (yêu cầu + phản hồi). Máy khách <-> Proxy <-> Máy chủ

  • Proxy máy khách: ( máy khách <-> proxy ) <-> máy chủ

Các proxy hành động thay mặt cho khách hàng. Khách hàng biết về cả ba máy tham gia vào chuỗi. Các máy chủ không.

  • Proxy máy chủ: máy khách <-> ( proxy <-> máy chủ )

Các proxy hoạt động thay mặt cho máy chủ. Khách hàng chỉ biết về proxy. Các máy chủ biết toàn bộ chuỗi.

Dường như đối với tôi, chuyển tiếpđảo ngược chỉ đơn giản là những tên phụ thuộc phối cảnh, khó hiểu cho proxy máy kháchmáy chủ . Tôi đề nghị từ bỏ cái trước cho cái sau, để giao tiếp rõ ràng.

Tất nhiên, để làm phức tạp thêm vấn đề, không phải mọi máy đều chỉ là máy khách hoặc máy chủ. Nếu có sự không rõ ràng trong ngữ cảnh, tốt nhất bạn nên xác định rõ ràng vị trí của proxy và thông tin liên lạc mà nó tạo ra.


3
Câu trả lời này phù hợp với httpd.apache.org/docs/2.0/mod/mod_proxy.html#forwardreverse và giúp giải thích rõ ràng
Greg Woods

7
Dường như tính năng phù hợp nhất trong so sánh này là ai là người biết. chuyển tiếp proxy: máy khách biết cả proxy (thực tế nó đã được cấu hình) và máy chủ đích (vì nó yêu cầu url của máy chủ), trong khi, trong trường hợp proxy ngược, máy khách biết proxy như một máy chủ đích (nó không biết proxy thực sự đang gọi là gì, nó có thể là một máy chủ trở lên). với một proxy chuyển tiếp, máy chủ không biết khách hàng thực sự là ai, vì proxy "chuyển tiếp" yêu cầu cho nó. chuyển tiếp proxy: ẩn (các) khách hàng. proxy ngược: ẩn (các) máy chủ.
Belun 10/03/2015

@Protongun ".. Một proxy đơn giản chỉ là người trung gian để liên lạc (yêu cầu + phản hồi) .." nhu cầu của proxy ở nơi đầu tiên là gì? Vui lòng làm rõ. IMHO câu trả lời này phải là câu trả lời được chấp nhận
vikramvi

Liên kết đầu tiên trong bài đăng này giúp mọi người rõ ràng và dễ hiểu
Huyền thoại

@Belun Giải thích tốt bằng những từ / thuật ngữ đơn giản tối đa.
Ilangeeran

129

Một số sơ đồ có thể giúp:

Chuyển tiếp proxy

Chuyển tiếp proxy

Đảo ngược proxy

Đảo ngược proxy


8
Là nó? Họ trông thật giống nhau! Điều gì đặc biệt khi viết lại một phản hồi làm cho proxy trở thành proxy "đảo ngược"?
8bitjunkie

2
@ 8bitjunkie Đó là về quan điểm. Lưu ý rằng, đối với proxy chuyển tiếp, khách hàng biết rằng nó đang liên lạc với máy chủ proxy. Đối với proxy ngược, khách hàng nghĩ rằng nó đang liên lạc trực tiếp với home.com. Các proxy cũng có các triển khai khác nhau. Các proxy ngược có thể khá ngu ngốc. Tất cả những gì nó phải làm là thay đổi địa chỉ và chuyển cuộc gọi theo. Logic mạng nhiều hơn trên máy khách, ít hơn trên proxy. Mặt khác, proxy chuyển tiếp cần bằng cách nào đó biết rằng một yêu cầu cho proxy.com () yêu cầu một cuộc gọi đến service.com. Ít logic mạng trên máy khách, nhiều hơn về proxy.
Kevin

1
" Dịch myhome.myhosting.com sang hom.com có nghĩa là gì " Tôi không nhận được phần dịch. Giống như viết lại một phần của tiêu đề phản hồi hoặc một cái gì đó?
1252748

Ngoài ra, một trong những lý do cho proxy ngược (dựa trên những gì tôi hiểu từ câu trả lời được chấp nhận) là mục đích của việc này là để phân chia lưu lượng truy cập lớn đến giữa nhiều máy chủ. Trường hợp trong chuỗi này xảy ra? Đó có phải là một "quy tắc nội địa" khác không?
1252748

@ 1252748 khoảng 1), bản dịch chỉ đơn giản là ánh xạ các URL và đưa ra yêu cầu tới URL thích hợp. khoảng 2), vâng, bạn có thể định cấu hình máy chủ, ví dụ, sử dụng vòng tròn để tải cân bằng các yêu cầu giữa các máy chủ.
Maria Ines Parnisari

72

Sự khác biệt chủ yếu là trong việc triển khai. Web chuyển tiếp và proxy ngược đều có các tính năng cơ bản giống nhau. Họ chấp nhận các yêu cầu cho các yêu cầu HTTP ở các định dạng khác nhau và cung cấp phản hồi, thường là bằng cách truy cập nguồn gốc hoặc máy chủ liên hệ.

Các máy chủ đầy đủ tính năng thường có kiểm soát truy cập, bộ nhớ đệm và một số tính năng ánh xạ liên kết.

Proxy chuyển tiếp là proxy được truy cập bằng cách định cấu hình máy khách. Máy khách cần hỗ trợ giao thức cho các tính năng proxy (chuyển hướng, xác thực proxy, v.v.). Proxy là minh bạch cho trải nghiệm người dùng, nhưng không phải cho ứng dụng.

Proxy ngược là một proxy được triển khai như một máy chủ web và hoạt động như một máy chủ web, ngoại trừ thay vì cục bộ nội dung từ các chương trình và đĩa, nó chuyển tiếp yêu cầu đến máy chủ gốc. Từ góc độ máy khách, nó một máy chủ web, vì vậy trải nghiệm người dùng hoàn toàn minh bạch.

Trong thực tế, một cá thể proxy duy nhất có thể chạy như một proxy chuyển tiếp và đảo ngược cùng một lúc cho các quần thể khách khác nhau.


Để chắc chắn, proxy chuyển tiếp là phía máy khách và proxy ngược là phía máy chủ?
Yves

4
@yves. một proxy cũng là một máy chủ. Chỉ là khách hàng cần một cấu hình cục bộ để họ có thể giao tiếp. Trong khi một proxy ngược yêu cầu cấu hình tại chính máy chủ. Các nút vật lý của họ đều ở 'phía máy chủ'.
Adib Aroui

Chỉ cần thông tin chung, không phải tất cả các proxy đều có thể hoạt động như tiến và lùi, ví dụ, SOCKS có thể, nhưng không phải là proxy HTTP.
RastaJedi

60

Proxy: Nó đang thực hiện yêu cầu thay mặt khách hàng . Vì vậy, máy chủ sẽ trả về phản hồi cho proxy và proxy sẽ chuyển tiếp phản hồi cho máy khách. Trên thực tế, máy chủ sẽ không bao giờ "tìm hiểu" khách hàng là ai (địa chỉ IP của khách hàng); Nó sẽ chỉ biết proxy. Tuy nhiên, máy khách chắc chắn biết máy chủ, vì về cơ bản nó định dạng yêu cầu HTTP dành cho máy chủ, nhưng nó chỉ trao nó cho proxy.

Nhập mô tả hình ảnh ở đây

Reverse Proxy: Nó đang nhận được yêu cầu thay mặt cho máy chủ . Nó chuyển tiếp yêu cầu đến máy chủ, nhận phản hồi và sau đó trả về phản hồi cho máy khách. Trong trường hợp này, khách hàng sẽ không bao giờ "tìm hiểu" ai là máy chủ thực sự (địa chỉ IP của máy chủ) (với một số ngoại lệ); Nó sẽ chỉ biết proxy. Máy chủ sẽ hoặc không biết máy khách thực tế, tùy thuộc vào cấu hình của proxy ngược.

Nhập mô tả hình ảnh ở đây


6
Tôi cảm thấy như tôi có thể sao chép và dán các định nghĩa của bạn ngược lại và chúng vẫn đúng. Tôi không nghĩ rằng điều này giải thích bất kỳ sự khác biệt chính nào hoặc làm rõ điều gì là "đảo ngược" về một proxy ngược?
8bitjunkie

6
Proxy sẽ luôn hành động thay mặt cho ai đó (ẩn danh tính của họ khỏi bên kia). "Đảo ngược" đề cập đến việc đảo ngược phía "ẩn", với nó là máy khách trong trường hợp đầu tiên (proxy thông thường) và máy chủ trong trường hợp thứ hai (proxy ngược). Thật vậy, các thuật ngữ có thể được sử dụng thay thế cho nhau, đó chỉ là vấn đề quy ước đã chọn trường hợp đầu tiên làm proxy thông thường (có thể vì lý do lịch sử). Hy vọng điều này có ý nghĩa.
Dimos

44

Giải thích tốt nhất là ở đây với sơ đồ:

Trong khi proxy proxy chuyển tiếp thay mặt cho khách hàng ( hoặc yêu cầu máy chủ ) , proxy proxy ngược lại thay mặt máy chủ.

Trong thực tế, trong khi một proxy chuyển tiếp che giấu danh tính của các máy khách, một proxy ngược lại che giấu danh tính của các máy chủ.


38

Một proxy máy chủ proxy (và tùy chọn lưu trữ) yêu cầu mạng gửi đến các tài nguyên công cộng không liên quan nhất thiết trên Internet. Một proxy ngược nắm bắt (và tùy chọn lưu trữ) các yêu cầu đến từ Internet và phân phối chúng cho các tài nguyên riêng tư nội bộ khác nhau, thường cho mục đích sẵn sàng cao.



28

Proxy (Proxy chuyển tiếp):

Khi các máy tính trong mạng LAN của bạn kết nối với máy chủ proxy truy cập Internet. Lợi ích chỉ bao gồm máy chủ được tiếp xúc với Internet. Những người ở bên ngoài không thể truy cập trực tiếp vào máy tính. Proxy chuyển tiếp có thể cải thiện truy cập Internet cho người dùng bằng cách tải xuống bộ đệm. Chúng cũng có thể được sử dụng để hạn chế quyền truy cập vào một số trang web. Ngoài ra, chỉ có máy chủ proxy mới cần một địa chỉ công cộng, không phải máy khách kết nối với nó.

Proxy ngược:

Một proxy ngược là ngược lại với một proxy chuyển tiếp. Thay vào đó, nó hoạt động như một proxy thay mặt cho các máy chủ được kết nối. Thay vì truy cập trực tiếp vào một máy chủ từ xa, người dùng sẽ truy cập proxy ngược và được chuyển hướng đến máy chủ phù hợp từ đó. Chỉ proxy ngược mới cần chứng chỉ SSL, chỉ cần một địa chỉ IP công cộng và nó có thể xử lý cân bằng tải của các yêu cầu đến để nâng cao trải nghiệm người dùng nói chung.

Nhập mô tả hình ảnh ở đây

Nguồn hình ảnh: Tạo Proxy chuyển tiếp bằng cách sử dụng định tuyến yêu cầu ứng dụng


3
IMHO, câu trả lời đơn giản nhất / tốt nhất.
Vinicius Gonçalves

12

Sự hiểu biết của tôi từ quan điểm của Apache là proxy có nghĩa là nếu trang web x proxy cho trang web y, thì yêu cầu x trả về y.

Proxy ngược có nghĩa là phản hồi từ y được điều chỉnh sao cho tất cả các tham chiếu đến y trở thành x.

Vì vậy, người dùng không thể nói rằng proxy có liên quan ...


10

Theo sự hiểu biết của tôi...

Để bắt đầu, như mọi người đều biết, proxy có nghĩa là "quyền đại diện cho người khác". Bây giờ có hai điều, proxy chuyển tiếp và ngược lại.

Chuyển tiếp proxy

Giả sử bạn muốn truy cập lần lượt "Google" và "Google" sẽ có n số máy chủ để đáp ứng yêu cầu cụ thể đó.

Bây giờ trong trường hợp này, trong khi bạn đang yêu cầu một cái gì đó từ Google và bạn không muốn Google thấy địa chỉ IP của mình, thì bạn sẽ sử dụng proxy chuyển tiếp, như được giải thích bên dưới.

A → B → C

Bây giờ bạn ở đây là A, gửi yêu cầu qua B. Vì vậy, C sẽ nghĩ rằng yêu cầu đến từ B, không phải A. Bằng cách này, bạn có thể ngăn địa chỉ IP của khách hàng không bị lộ ra thế giới bên ngoài.

Đảo ngược proxy

Bây giờ trong trường hợp này, để làm cho bạn hiểu, chúng tôi sẽ đưa ra trường hợp tương tự của proxy chuyển tiếp. Tại đây, bạn đã yêu cầu một cái gì đó cho Google, từ đó sẽ gửi một yêu cầu đến máy chủ ứng dụng hoặc máy chủ proxy khác để nhận được phản hồi. Vì vậy, những điều này sẽ xảy ra như được giải thích dưới đây.

A → B → C

C → D

C ← D

A ← B ← C

Từ sơ đồ trên, bạn có thể thấy rằng một yêu cầu đã được gửi đến C từ B, không phải từ A. Sau đó, từ C sẽ có một yêu cầu gửi đến D. Tương tự, phản hồi sẽ chuyển đến C từ D và sau đó đến B và A.

Biểu đồ trên cho biết đó chỉ là bối cảnh quan trọng mặc dù cả hai proxy đều hoạt động theo cùng một cách, nhưng proxy phía máy khách đang ẩn thông tin máy khách trong khi proxy phía máy chủ sẽ ẩn thông tin phía máy chủ.



9

Đây là một ví dụ về proxy ngược (dưới dạng cân bằng tải).

Một khách hàng lướt đến website.com và máy chủ mà nó truy cập có proxy ngược chạy trên nó. Các proxy ngược xảy ra là Pound . Pound nhận yêu cầu và gửi nó đến một trong ba máy chủ ứng dụng ngồi đằng sau nó. Trong ví dụ này, Pound là một bộ cân bằng tải. Đó là, nó đang cân bằng tải giữa ba máy chủ ứng dụng.

Các máy chủ ứng dụng phục vụ nội dung trang web trở lại máy khách.


8

Một proxy chuyển tiếp phục vụ người dùng : nó giúp người dùng truy cập vào máy chủ .

Một proxy ngược phục vụ máy chủ : nó bảo vệ máy chủ khỏi người dùng .


4

Nếu không có proxy

Để xem từ phía máy khách và phía máy chủ giống nhau:

Máy khách -> Máy chủ

Ủy quyền

Từ phía khách hàng:

Máy khách -> proxy -> Máy chủ

Từ phía máy chủ:

Máy khách -> Máy chủ

Đảo ngược proxy

Từ phía khách hàng:

Máy khách -> Máy chủ

Từ phía máy chủ:

Máy khách -> proxy -> Máy chủ

Vì vậy, tôi nghĩ rằng nếu nó được thiết lập bởi người dùng máy khách, nó được gọi là proxy nếu nó được thiết lập bởi người quản lý máy chủ thì đó là proxy ngược.

Bởi vì mục đích và lý do để thiết lập nó là khác nhau, họ xử lý dữ liệu theo những cách khác nhau và sử dụng phần mềm khác nhau.

   User side          |      Server side
client  <->  proxy  <-->  reverse_proxy <-> real server

Sẽ tốt hơn nếu Đại diện đồ họa của nó nhưng nội dung hay. @ Tinyhare
Narendra

3

Nhìn từ góc độ của người dùng: khi gửi yêu cầu đến proxy hoặc máy chủ proxy ngược :

  • proxy - yêu cầu hai đối số :

    1) những gì cần nhận và 2) máy chủ proxy nào sẽ sử dụng một trung gian

  • proxy ngược - yêu cầu một đối số :

    1) những gì cần nhận

Một proxy ngược lấy nội dung từ một máy chủ khác mà người dùng không biết đến và trả về kết quả như thể nó bắt nguồn từ máy chủ proxy ngược .


1

Hầu hết các câu trả lời trước đều tốt, nhưng theo tôi, không có câu trả lời nào đủ gần để giải quyết đủ chất lượng "ngược" để phân biệt hai câu này. Để làm điều đó, một số cách hình dung bản chất "đảo ngược" của những gì về cơ bản là cùng một thứ (một proxy) cần phải được đưa ra, và nó cần phải được đưa ra một cách trừu tượng.

Một proxy (ngầm định là "proxy chuyển tiếp") kết nối nhiều máy khách cục bộ với bất kỳ một máy chủ từ xa nào:

c--
   |--p--s
c--

Một proxy ngược kết nối nhiều máy chủ cục bộ với bất kỳ một máy khách từ xa nào (chú ý cách bố trí đảo ngược):

s--
   |--p--c
s--

Đó là một vấn đề về quan điểm thực sự và hiểu đúng về khái niệm này đòi hỏi phải trừu tượng hóa các chi tiết không cần thiết (đối với khái niệm cụ thể) mặc dù chúng có thể rất quan trọng khi nói đến tính thực dụng của hoạt động proxy. Các chi tiết như vậy bao gồm thực tế là trong cả hai kịch bản, thực tế là nhiều máy khách kết nối với nhiều máy chủ, máy khách và máy chủ đó có thể không thực sự cục bộ hoặc từ xa, nơi đặt đám mây Internet hoặc loại khả năng hiển thị giữa máy khách và máy chủ.


"Nhiều máy chủ cục bộ cho bất kỳ một máy khách từ xa nào" - hm, tại sao không có nhiều máy chủ cho nhiều máy khách? Ý tôi là - bản thân máy chủ không kết nối với máy khách, nó chỉ đáp ứng bất kỳ yêu cầu nào của khách hàng, bất kể đó là nhiều máy khách hay cùng một máy khách.
JustAMartin

Đọc lại - đặc biệt là đoạn cuối và cố gắng hiểu "bất kỳ một khách hàng từ xa" nào là một trong nhiều trường hợp hoạt động
Fotios Basagianni

Văn bản ổn, chỉ là sơ đồ thứ hai khiến tôi đột nhiên nghĩ "này, khách hàng kia đã đi đâu?" khi tôi so sánh nó với sơ đồ đầu tiên.
JustAMartin

Vâng, đó là bởi vì khách hàng đó không phải là bất kỳ ai trong hai người kia. Các nhà phát triển có xu hướng suy nghĩ theo các thuật ngữ rất cụ thể và cụ thể bởi vì đây là điều giúp ích khi bạn triển khai công cụ tuy nhiên cách suy nghĩ tương tự không hữu ích lắm khi nghĩ về trừu tượng.
Fotios Basagianni
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.