Reverse Proxy

Reverse Proxy



REVERSE PROXY

Обратный прокси-сервер защищает веб-серверы от атак, повышает производительность и надежность их работы. Разбираемся, что такое обратный прокси и чем он отличается от прямого.

Что такое обратный прокси?

Обратный прокси (реверс-прокси) — это сервер, который находится перед веб-серверами и пересылает запросы от клиента (например, от браузера) на эти веб-серверы. Чтобы лучше понять, как работает обратный прокси и какие преимущества он имеет, определим, что такое прокси-сервер.

Что такое прямой прокси?

Прямой прокси или просто прокси — это сервер, который находится перед группой клиентских компьютеров. Когда они отправляют запросы к сайтам и сервисам в интернете, прокси-сервер выступает в роли посредника: перехватывает запросы, а затем связывается с веб-серверами от имени клиентов.

Вот так работа прямого прокси выглядит на схеме:

A — домашний компьютер пользователя

B — прямой прокси-сервер

C — сервер веб-сайта (где хранятся данные веб-сайта)

                                                                      


При стандартном интернет-соединении компьютер А будет связываться напрямую с компьютером С: запрос клиента сразу попадает на сервер, который отвечает ему. Прокси выступает посредником между А и С: он перехватывает и запрос клиента, и ответ сервера.

Идея добавить посредника в коммуникацию между клиентом и сервером на первый взгляд выглядит странно, однако прокси дает ряд преимуществ:

Использование прокси позволяет избежать ограничений на просмотр контента, установленных в отдельно взятой стране или для компьютеров внутри организации. Некоторые правительства, школы и компании используют брандмауэры, чтобы предоставить своим пользователям доступ только к ограниченной версии интернета. Прямой прокси помогает обойти такие ограничения: он позволяет подключиться к промежуточному серверу, а не к запрещенному сайту.

Другая сторона прокси — возможность ограничить доступ к тому или иному контенту. Пользователь в такой сети (например, школьной) сначала подключается к промежуточному серверу, а тот, в свою очередь, не принимает ответы от запрещенных сайтов (например, от Facebook и других сайтов социальных сетей).

Технология позволяет сохранять анонимность. Например, при использовании прокси настоящий IP-адрес автора комментария на форуме будет сложнее отследить. Вместо IP-адреса пользователя будет виден IP-адрес прокси-сервера.

 

 

 

 

 

 

 

 



Чем отличается обратный прокси?

Прямой прокси находится за пользователем и перехватывает запросы на границе сети, а затем отправляет их на веб-сервер и получает от него ответ. Обратный прокси при этом находится прямо перед веб-сервером.

Разница между прямым и обратным прокси тонкая, но существенная. Если сильно упростить — прямой прокси находится прямо перед клиентом и гарантирует, что ни один пользовательский запрос не отправляется на веб-сервер напрямую. Обратный прокси находится прямо перед исходным сервисом и гарантирует что ни один клиент никогда не связывается напрямую с исходным сервером.

На схеме эта разница выглядит так:

D — домашний компьютер пользователя

E — обратный прокси-сервер

F — сервер веб-сайта

В обычной ситуации все запросы от D отправляются напрямую к F и наоборот.  С обратным прокси-сервером все запросы от D будут направляться непосредственно в E, а E будет отправлять свои запросы и получать ответы от F. E затем передаст соответствующие ответы D.

 


Преимущества такого подхода можно описать следующим образом:

·        Балансировка нагрузки. Например, популярный сайт, который ежедневно посещают миллионы пользователей, в определенный момент может не справиться с нагрузкой и не сможет обрабатывать весь входящий трафик с помощью одного исходного сервера. В таких случаях трафик можно распределить по нескольким веб-серверам, которые будут обрабатывать запросы. В случае критического сбоя основного сервера другие веб-серверы могут подключиться к обработке трафика.

·        Защита от атак. Обратный прокси позволяет исходным серверам не раскрывать свои IP адреса клиентам. Это значительно затрудняет проведение DDoS-атак: все запросы можно пропускать через прокси-сервер с более надежной системой защиты и большей мощностью по сравнению с основным сервером. Например, через сервер Cloudflare.

·        Глобальная балансировка нагрузки на сервер (GSLB). Этот подход предполагает распределение сайта по нескольким серверам, которые физически расположенны в разных странах мира. Обратный прокси отправляет запрос пользователя на сервер, который географически находится ближе к нему. Это уменьшает расстояние, которые необходимо преодолевать запросам и ответам, сводя к минимуму время загрузки.

·        Кэширование. Обратный прокси-сервер также может кэшировать содержимое запроса и таким образом повышать производительность. Например, если пользователь из Парижа заходит на сайт, сервера которого расположены в Лос-Анджелесе, он может сделать это через локальный прокси в Париже, который затем взаимодействует с исходным сервером в Лос-Анджелесе. Прокси-сервер кэширует (или временно сохраняет) данные ответа, а следующие пользователи из Парижа увидят кэшированную локально версию данных, поскольку кэш будет на парижском реверс-прокси. Это существенно повысит производительность и время загрузки данных.

·        SSL-шифрование. Шифрование и дешифрование сообщений (SSL или TLS) для каждого клиента по отдельности стоит дорого с точки зрения вычислений для исходного сервера. Обратный прокси-сервер можно настроить для расшифровки всех входящих запросов и шифрования всех исходящих ответов, освободив ресурсы на исходном сервере.


Report Page