Câu hỏi Sự khác biệt giữa máy chủ proxy và máy chủ proxy ngược


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


1449
2017-10-22 06:27


gốc


Nó cũng được giải thích trong Tài liệu Apache, quá. - Paolo
@Paolo đã biến nó thành nhiều dễ hiểu hơn bài viết trên 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
Cho phép 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 host hoặc có thể 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 có phải là proxy chuyển tiếp hoặc proxy ngược không? - Daniel Leach
Nếu máy chủ A không thể lưu trữ C mà không được định cấu hình cho máy chủ lưu trữ liên hệ đầu tiên B, thì máy chủ B là máy chủ proxy truyền thống hoặc "đi". - TaylorMonacelli
Các proxy chuyển tiếp cấp quyền ẩn danh cho khách hàng (nghĩa là Tor). Proxy ngược cấp phép ẩn danh máy chủ cuối (nghĩa là các máy chủ đằng sau DMZ). - 8bitjunkie


Các câu trả lời:


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ả một người nào đó 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ì mục đích tiếp cận, tôi sẽ giới hạn cuộc thảo luận của tôi với proxy trên 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 trên web đều đề cập đến loại proxy được gọi là "proxy chuyển tiếp".

Sự kiện proxy, trong trường hợp này, là "proxy chuyển tiếp" truy xuất dữ liệu từ một trang web khác thay mặt cho người được 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 kết nối với internet.

  • X = máy tính của bạn hoặc máy tính "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, một người sẽ kết nối trực tiếp từ X --> Z.

Tuy nhiên, trong một số trường hợp, nó là tốt hơn cho Y --> Z thay mặt cho X, mà chuỗi 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 sử dụng một phần (rất) của máy chủ proxy chuyển tiếp.

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

    • a) Một người có thẩm quyền hành chính trên 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 Worm Storm đang lây lan bằng cách lừa người truy cập familypostcards2008.com, do đó, 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 vào facebook.com, do đó, 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.com trang mạng.

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

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

      • Ví dụ:

        • Quản trị viên của Z đã nhận thấy các nỗ lực tấn công 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 gửi spam diễn đàn. Z khối X.

Proxy 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 kết nối với internet.

  • X = máy tính của bạn hoặc máy tính "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, một người sẽ kết nối trực tiếp từ X --> Z.

Tuy nhiên, trong một số trường hợp, quản trị viên của Z để 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 vượt qua Y trước tiên. Vì vậy, như trước đây, chúng tôi có dữ liệu được truy xuất bởi Y --> Z thay mặt cho X, mà chuỗi như sau: X --> Y --> Z.

Thời gian này khác gì so với "proxy chuyển tiếp" là lần này người dùng X không biết anh ta đang truy cập Z, bởi vì người dùng X chỉ thấy anh ta đang giao tiếp với Y.
Máy chủ Z không hiển thị với khách hàng và chỉ proxy ngược lại Y hiển thị bên ngoài. Proxy ngược không yêu cầu cấu hình (proxy) ở phía máy khách.

Khách hàng X nghĩ rằng anh ta chỉ giao tiếp với Y (X --> Y), nhưng thực tế là Y chuyển tiếp mọi giao tiếp (X --> Y --> Z 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 đến 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 truy cập. 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 của 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ả thù cho nội dung được lưu trữ trên máy chủ và không muốn để lộ máy chủ chính trực tiếp cho công chúng.
    • a) Chủ sở hữu nhãn hiệu Spam như "Dược Canada" xuất hiện có hàng nghìn máy chủ, trong khi thực tế có hầu hết các trang web lưu trữ trên máy chủ ít hơn nhiều. Ngoài ra, các khiếu nại lạm dụng về spam sẽ chỉ đóng các máy chủ công cộng chứ không phải máy chủ chính.

Trong các tình huống trên, Z có khả năng chọn Y.

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

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

phần mềm proxy phía trước (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:


2554
2017-08-10 14:35



TAM (quản lý truy cập tivoli) cũng là một máy chủ proxy ngược, phải không? - Clark Bao
những gì về proxy mở ?? - AminM
Khái niệm sau đó, chúng tôi có thể tham khảo hoặc nghĩ về một "proxy ngược" sau đó là một proxy "buộc"? - Thomas
"điều đó sẽ đưa người dùng đến máy chủ gần nhất với họ" - Điểm là gì? Tất cả lưu lượng truy cập sẽ đi qua máy chủ proxy đó, phải không? Vì vậy, nó không quan trọng nơi vị trí của máy chủ 'địa phương' phía sau nó được. Hoặc tôi đang thiếu một cái gì đó? - Pavel
@Pavel có lẽ "máy chủ gần nhất với họ" không phải là mô tả hay nhất. Giống như "phân phối tải tới 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 ngược proxy. - JDS


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

Chuyển tiếp proxy: Hành động thay mặt cho người yêu cầu (hoặc người tiêu dùng dịch vụ)

Proxy ngược: Hành động thay mặt cho nhà sản xuất dịch vụ / nội dung.


444
2017-08-31 04:55



Đây là một câu trả lời tuyệt vời, nhưng tôi sợ rằng tôi sẽ không hiểu nó đúng cách mà không đọc câu trả lời hàng đầu :) - poshest
điều này hoàn thành câu trả lời từ wiki cộng đồng. - Akash Bisariya


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

Forward Proxy vs Reverse Proxy

Bạn cũng có thể xem điều này video từ F5'S DevCentral bởi Peter Silva.

Nguồn hình ảnh: Quora. Tất cả các khoản tín dụng cho người tạo sơ đồ này.

Nó nhắc tôi về câu tục ngữ cổ điển:

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


258
2018-01-07 05:29



Đâ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 bạn đang ở quốc gia nào là proxy chuyển tiếp; một dịch vụ ngược dòng hướng 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 lại. - Kyle Chadha
Chuyển tiếp proxy có thể được trên internet là tốt - mac
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 lại còn được gọi là "Load Balancer" và hoạt động trên phía máy chủ (phân phối tải cho các máy chủ khác nhau), trong khi một proxy chuyển tiếp hỗ trợ phía máy khách. - codepleb
Tôi nghĩ bức ảnh đáng giá 1000 lần - JBRWilkinson
Tuyệt diệu. Một ví dụ hoàn hảo về nơi mà hình ảnh đơn này đáng giá hơn 1000 từ của câu trả lời hàng đầu. - Manachi


Câu trả lời của qyb2zm302 độc đáo về chi tiết các ứng dụng của proxy nhưng lại xuất hiện trên khái niệm cơ bản giữa các proxy chuyển tiếp và ngược. Đối với proxy ngược lại, X -> Y -> Z, X biết về Y chứ không phải Z, thay vì ngược lại.

http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy giải thích sự khác biệt giữa các proxy chuyển tiếp và ngược lại rất rõ ràng.

Một proxy chỉ đơn giản là một trung gian cho giao tiếp (yêu cầu + phản hồi). Máy khách <-> Proxy <-> Máy chủ

  • Proxy ứng dụng khách: ( Client <-> Proxy ) <-> Máy chủ

    Proxy hoạt động thay mặt cho khách hàng. Khách hàng biết về tất cả 3 máy móc tham gia vào chuỗi. Máy chủ không.

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

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

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

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


193
2018-01-17 16:14



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
có vẻ như tính năng liên quan nhất trong so sánh này là ai-biết-ai. proxy phía trước: client biết cả proxy (nó có cấu hình trong thực tế) và server đích (vì nó yêu cầu url của server), trong khi đó, trong trường hợp reverse proxy, client biết proxy như một máy chủ đích (nó không biết proxy thực sự gọi là gì; nó có thể là một máy chủ hoặc nhiều hơn). với proxy chuyển tiếp, máy chủ không biết ai thực sự là khách hàng, vì proxy "chuyển tiếp" yêu cầu đến nó. proxy chuyển tiếp: ẩn (các) ứng dụng khách. reverse proxy: ẩn (các) máy chủ. - Belun
câu trả lời này nhấn điểm. Đã yêu nó. Cảm ơn bạn. - Phatee P


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

Chuyển tiếp proxy

Forward proxy

Proxy ngược

Reverse proxy


122
2018-02-20 13:06



Là nó? Họ trông thật giống nhau! Điều gì là đặc biệt về việc viết lại một phản hồi mà làm cho một proxy "ngược" proxy? - 8bitjunkie
@ 8bitjunkie Quan điểm về nó. Lưu ý rằng, đối với proxy chuyển tiếp, máy khách biết rằng nó đang kết nối với máy chủ proxy. Đối với proxy ngược, máy khách cho 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. Proxy ngược lại có thể khá ngu ngốc. Tất cả những gì cần làm là thay đổi địa chỉ và chuyển cuộc gọi. Thêm logic mạng trên máy khách, ít hơn trên proxy. Mặt khác, proxy phía trước cần biết 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 trên proxy. - Kevin
Có nghĩa là gì "dịch myhome.myhosting.com to hom.com "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 hay 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à để chia lưu lượng truy cập đến nặng giữa nhiều máy chủ. Chuỗi này xảy ra ở đâu? Đó có phải là "quy tắc trong nước" khác không? - 1252748
@ 1252748 về 1), bản dịch chỉ đơn giản là có nghĩa là ánh xạ các URL và đưa ra yêu cầu tới URL thích hợp. khoảng 2), có, bạn có thể cấu hình máy chủ, ví dụ, sử dụng vòng robin để cân bằng tải các yêu cầu giữa các máy chủ. - Maria Ines Parnisari


Sự khác biệt chủ yếu trong triển khai. Web chuyển tiếp và proxy ngược tất cả đều có cùng các tính năng cơ bản, chúng chấp nhận 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ệ.

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

Proxy chuyển tiếp là proxy được truy cập bằng cách định cấu hình máy khách. Khách hàng 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 chứ không phải cho ứng dụng.

Proxy ngược là proxy được triển khai dưới dạng máy chủ web và hoạt động giống như máy chủ web, ngoại trừ việc tạo cục bộ nội dung từ chương trình và đĩa, nó chuyển tiếp yêu cầu tới máy chủ gốc. Từ quan điểm của khách hàng, nó là 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 nhóm khách hàng khác nhau.

Đó là phiên bản ngắn, tôi có thể làm rõ nếu mọi người muốn bình luận.


65
2017-10-22 06:45



Chỉ cần chắc chắn, proxy chuyển tiếp là phía máy khách và proxy ngược lại là phía máy chủ? - Yves
@yves. proxy cũng là một máy chủ. Nó 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 proxy ngược lại yêu cầu cấu hình tại chính máy chủ. Các nút vật lý của chúng đều ở phía 'phía máy chủ'. - whiteletters in blankpapers
Chỉ để biết thông tin chung, không tất cả các proxy có thể hoạt động như chuyển tiếp và ngược lại, ví dụ: SOCKS có thể, chứ không phải proxy HTTP. - RastaJedi


Proxy: Nó đang thay mặt khách hàng yêu cầu. 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 tới máy khách. Trong thực tế, máy chủ sẽ không bao giờ "tìm hiểu" ai là khách hàng (IP của khách hàng), nó sẽ chỉ biết proxy. Tuy nhiên, khách hàng chắc chắn biết máy chủ, vì nó về cơ bản định dạng yêu cầu HTTP mệnh cho máy chủ, nhưng nó chỉ đưa nó cho proxy.

enter image description here

Proxy ngược: Nó đang nhận yêu cầu thay mặt cho máy chủ. Nó chuyển tiếp yêu cầu tới 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, máy khách sẽ không bao giờ "tìm hiểu" máy chủ thực sự (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 sẽ không biết khách hàng thực, tùy thuộc vào cấu hình của proxy ngược.

enter image description here


49
2017-08-04 06:36



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 về phía sau và rằng 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 quan trọng hoặc làm rõ những gì là như vậy "đảo ngược" về một proxy ngược lại? - 8bitjunkie
Proxy sẽ luôn hành động thay mặt cho ai đó (ẩn danh tính của nó từ bên kia). Các "đảo ngược" đề cập đến đảo ngược bên trong đó là "ẩn", với nó là khách hàng trên trường hợp đầu tiên (proxy thường xuyên) và máy chủ trên trường hợp thứ hai (reverse proxy). Thật vậy, các thuật ngữ có thể được sử dụng thay thế cho nhau, nó chỉ là vấn đề của 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


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


35
2017-07-16 08:54





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

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

Trong thực tế, trong khi một proxy chuyển tiếp ẩn danh tính của khách hàng, proxy ngược ẩn danh tính của máy chủ


32
2018-04-09 22:00