Вопрос: Разница между прокси-сервером и обратным прокси-сервером


В чем разница между прокси-сервером и обратным прокси-сервером?


1400


источник


Ответы:


Предыдущие ответы были точными, но, возможно, слишком краткими. Я попытаюсь добавить несколько примеров.

Прежде всего, слово «прокси» описывает кого-то или что-то, действующего от имени кого-то другого.

В области компьютеров мы говорим об одном сервере, действующем от имени другого компьютера.

В целях доступности я ограничу свое обсуждение веб-прокси, однако идея прокси не ограничивается веб-сайтами.

FORWARD proxy

Большинство обсуждений веб-прокси ссылаются на тип прокси, известный как «прямой прокси».

Прокси-событие в этом случае заключается в том, что «прямой прокси» извлекает данные с другого веб-сайта от имени первоначального запрашивающего.

Сказка о 3 компьютерах (часть I)

Например, я приведу список трех компьютеров, подключенных к Интернету.

  • X = компьютер или компьютер «клиент» в Интернете
  • Y = веб-сайт прокси, proxy.example.org
  • Z = веб-сайт, который вы хотите посетить, www.example.net

Как правило, можно было бы X --> Z.

Однако в некоторых сценариях лучше Y --> Zот имени X, которая цепью выглядит следующим образом: X --> Y --> Z,

Причины, по которым X хотел бы использовать прямой прокси-сервер:

Вот (очень) частичный список использования прямого прокси-сервера.

  • 1) X не может напрямую обращаться к Z потому как

    • a) Кто-то с административными полномочиями Xинтернет-соединение решило заблокировать весь доступ к сайту Z,

      • Примеры:

        • Вирус штормового червя распространяется, обманывая людей во время посещения familypostcards2008.com, поэтому системный администратор заблокировал доступ к сайту, чтобы предотвратить непреднамеренное заражение пользователей.

        • Сотрудники крупной компании тратили слишком много времени на facebook.com, поэтому управление хочет, чтобы доступ блокировался в рабочее время.

        • Местная начальная школа запрещает доступ в Интернет к playboy.comВеб-сайт.

        • Правительство не в состоянии контролировать публикацию новостей, поэтому вместо этого контролирует доступ к новостям, блокируя такие сайты, как wikipedia.org, Видеть TOR или FreeNet ,

    • b) Администратор Zзаблокировал X,

      • Примеры:

        • Администратор Z заметил попытки взлома, исходящие от X, поэтому администратор решил заблокировать IP-адрес X (и / или netrange).

        • Z - это форумный сайт. Xрассылает спам на форуме. Z-блоки X.

REVERSE proxy

Сказка о 3 компьютерах (часть II)

В этом примере я приведу список трех компьютеров, подключенных к Интернету.

  • X = компьютер или компьютер «клиент» в Интернете
  • Y = веб-сайт обратного прокси, proxy.example.com
  • Z = веб-сайт, который вы хотите посетить, www.example.net

Как правило, можно было бы X --> Z.

Однако в некоторых сценариях лучше для администратора Zчтобы ограничить или запретить прямой доступ и заставить посетителей сначала пройти через Y. Итак, как и раньше, мы получаем данные, получаемые Y --> Zот имени X, который следующим образом: X --> Y --> Z,

На этот раз отличается от «прямого прокси», что на этот раз пользователь Xне знает, что он обращается Z, поскольку пользователь Xвидит только, что он общается с Y,
Сервер Zневидима для клиентов и только обратный прокси-сервер Yвидимо снаружи. Обратный прокси не требует конфигурации (прокси) на стороне клиента.

Клиент Xдумает, что он только общается с Y( X --> Y), но реальность такова: Yпересылка всех сообщений ( X --> Y --> Zеще раз).

Причины, по которым Z хотел бы настроить обратный прокси-сервер:

  • 1) Z хочет заставить весь трафик на свой веб-сайт сначала пройти по Y.
    • a) Z имеет большой веб-сайт, который хотят видеть миллионы людей, но один веб-сервер не может обрабатывать весь трафик. Таким образом, Z устанавливает множество серверов и помещает обратный прокси в Интернет, который будет отправлять пользователей на ближайший к ним сервер, когда они попытаются посетить Z. Это часть того, как работает концепция сети распространения контента (CDN).
  • 2) Администратор Z беспокоится о возмездии за контент, размещенный на сервере, и не хочет публиковать основной сервер напрямую.
    • a) Владельцы спам-брендов, таких как «Canadian Pharmacy», по-видимому, имеют тысячи серверов, в то время как на самом деле большинство сайтов размещено на гораздо меньшем количестве серверов. Кроме того, жалобы на жалобы о спаме будут закрыты только публичными серверами, а не основным сервером.

В приведенных выше сценариях, Zимеет возможность выбирать Y,

Ссылки на темы из этой публикации:

Сеть доставки контента

прямое прокси-программное обеспечение (серверная сторона)

обратное прокси-программное обеспечение для HTTP (серверная сторона)

обратное прокси-программное обеспечение для TCP (на стороне сервера)

смотрите также:


2489



Пара простого определения будет

Forward Proxy: действующий от имени запрашивающего (или потребителя услуг)

Обратный прокси: действует от имени производителя услуг / контента.


432



Я нашел эту диаграмму очень полезной. Он просто показывает архитектуру forwardпротив reverseпрокси с клиента на сервер через Интернет. Это изображение поможет вам понять qyb2zm302's после и другие должности лучше.

Forward Proxy vs Reverse Proxy

Вы также можете посмотреть это видео из F5«s DevCentralПитером Сильвой.

Источник изображения: Quora , Все кредиты тому, кто создал эту диаграмму.

Это напомнило мне классическую пословицу:

Картина стоит 1000 слов.


237



Ответ qyb2zm302 прекрасно описывает приложения прокси, но ускользает от фундаментальной концепции между прямыми и обратными прокси. Для обратного прокси X -> Y -> Z, X знает о Y, а не Z, а не наоборот.

http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy очень четко объясняет разницу между простыми и обратными прокси.

Прокси-сервер просто посредник для общения (запросы + ответы). Клиент <-> Прокси <-> Сервер

  • Клиентский прокси: ( Клиент <-> Прокси ) <-> Сервер

    Прокси действует от имени клиента. Клиент знает обо всех 3 машины, задействованные в цепочке. Сервер не работает.

  • Прокси сервера: Клиент <-> ( Сервер прокси <-> )

    Прокси-сервер действует от имени сервера. Клиент только знает про прокси. Сервер знает целую цепочку.

Мне кажется, что вперед а также задний ход просто запутывающие, перспективные имена для клиент а также сервер прокси. Я предлагаю отказаться от первого для последнего, для явного общения.

Конечно, чтобы еще больше усложнить этот вопрос, не каждая машина является исключительно клиентом или сервером. Если в контексте есть двусмысленность, лучше указать, где находится прокси-сервер, и сообщения, которые он туннелирует.


189



Some diagrams might help:

Forward proxy

Forward proxy

Reverse proxy

Reverse proxy


122



The difference is primarily in deployment. Web forward and reverse proxies all have the same underlying features, they accept requests for HTTP requests in various formats and provide a response, usually by accessing the origin or contact server.

Fully featured servers usually have access control, caching, and some link-mapping features.

A forward proxy is a proxy that is accessed by configuring the client machine. The client needs protocol support for proxy features (redirection, proxy auth, etc.). The proxy is transparent to the user experience, but not to the application.

A reverse proxy is a proxy that is deployed as a web server and behaves like a web server, with the exception that instead of locally composing the content from programs and disk, it forwards the request to an origin server. From the client perspective it IS a web server, so the user experience is completely transparent.

In fact, a single proxy instance can run as a forward and reverse proxy at the same time for different client populations.

That's the short version, I can clarify if people want to comment.


65



Proxy : It is making the request on behalf of the client. So, the server will return the response to the proxy and the proxy will forward the response to the client. In fact, the server will never "learn" who the client was (client's IP), it will only know the proxy. However, the client definitely knows the server, since it essentially formats the HTTP request destined for the server, but it just hands it to the proxy.

enter image description here

Reverse Proxy : It is receiving the request on behalf of the server. It forwards the request to the server, receives the response and then returns the response to the client. In this case, the client will never "learn" who was the actual server (server's IP) (with some exceptions), it will only know the proxy. The server will or won't know the actual client, depending on the configurations of the reverse proxy.

enter image description here


48



A proxy server proxies (and optionally caches) outgoing network requests to various not-necessarily-related public resources across the Internet. A reverse proxy captures (and optionally caches) incoming requests from the Internet and distributes them to various internal private resources, usually for High Availability purposes.


35



Best explanation here with diagrams:

While a forward proxy proxies in behalf of clients ( or requesting hosts ), a reverse proxy proxies in behalf of servers

In effect, whereas a forward proxy hides the identities of clients, a reverse proxy hides the identities of servers


31



An ordinary forward proxy is an intermediate server that sits between the client and the origin server. In order to get content from the origin server, the client sends a request to the proxy naming the origin server as the target and the proxy then requests the content from the origin server and returns it to the client. The client must be specially configured to use the forward proxy to access other sites.

A reverse proxy (or gateway), by contrast, appears to the client just like an ordinary web server. No special configuration on the client is necessary. The client makes ordinary requests for content in the name-space of the reverse proxy. The reverse proxy then decides where to send those requests, and returns the content as if it was itself the origin.

A typical usage of a reverse proxy is to provide Internet users access to a server that is behind a firewall. Reverse proxies can also be used to balance load among several back-end servers, or to provide caching for a slower back-end server. In addition, reverse proxies can be used simply to bring several servers into the same URL space.

for more info visit : Apache Docs


22



This is a great read to understand the differences between a Forward and Reverse PROXY http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy

A forward proxy hides the identities of clients(users) whereas a reverse proxy hides the identities of your servers.


17