Обратный прокси


В компьютерных сетях обратный прокси-сервер — это приложение, которое находится перед внутренними приложениями и перенаправляет запросы клиентов (например, браузера) этим приложениям. Обратные прокси помогают повысить масштабируемость, производительность, отказоустойчивость и безопасность. Ресурсы, возвращаемые клиенту, выглядят так, как если бы они были получены с самого веб-сервера. [1]

Крупные веб-сайты и сети доставки контента используют обратные прокси-серверы вместе с другими методами для балансировки нагрузки между внутренними серверами. Обратные прокси могут хранить в кеше статический контент, что еще больше снижает нагрузку на эти внутренние серверы и внутреннюю сеть. Обратные прокси-серверы также часто добавляют такие функции, как сжатие или шифрование TLS, в канал связи между клиентом и обратным прокси-сервером. [2]

Обратные прокси-серверы обычно принадлежат или управляются веб-службой , и к ним обращаются клиенты из общедоступного Интернета. Напротив, прямой прокси-сервер обычно управляется клиентом (или его компанией), который ограничен частной внутренней сетью, за исключением того, что клиент может попросить прямой прокси-сервер получить ресурсы из общедоступного Интернета от имени клиента.

Обратные прокси-серверы реализованы в популярных веб-серверах с открытым исходным кодом , таких как Apache , Nginx и Caddy . Это программное обеспечение может проверять заголовки HTTP, что, например, позволяет ему представлять один IP-адрес в Интернете при ретрансляции запросов на разные внутренние серверы на основе доменного имени HTTP-запроса. Выделенные обратные прокси-серверы, такие как программное обеспечение с открытым исходным кодом HAProxy и Squid , используются некоторыми из крупнейших веб-сайтов в Интернете.


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