Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Вы можете указать, что один прокси-сервер является целевой конечной точкой другого, тем самым соединив два прокси-сервера в цепочку. Такая цепочка прокси-серверов позволяет избежать перехода по сети и повысить общую производительность.
При цепочке прокси-серверов вы указываете, что один прокси-сервер является локальной целевой конечной точкой другого.
Вместо элемента HTTPTargetConnection для вызова второго прокси-сервера используется элемент LocalTargetConnection.
<LocalTargetConnection>
<APIProxy>myproxy2</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>Цепочка прокси может быть полезна, если у вас есть прокси, предлагающий некоторые отдельные низкоуровневые функции, которые будут использоваться другими прокси. Например, прокси, который предоставляет операции создания, чтения, обновления и удаления с хранилищем данных на сервере, может быть целевым прокси для нескольких других прокси, которые предоставляют данные клиентам.
Видео. Посмотрите короткое видео о цепочках прокси-серверов API.
Как работает цепочка прокси-серверов
При использовании цепочки прокси-серверов локальное подключение позволяет минимизировать сетевые издержки при вызове одного прокси-сервера из другого. Такое локальное подключение более эффективно, поскольку оно не использует сетевые функции, такие как балансировщики нагрузки, маршрутизаторы и процессоры сообщений.
Ниже показана разница между подключением прокси-серверов с помощью HTTPTargetConnection и LocalTargetConnection (цепочка прокси-серверов):


Прокси-серверы подключаются друг к другу, когда один из них указывается в качестве локальной целевой конечной точки другого. Вы можете создать локальное подключение между прокси-серверами двумя способами:
- Указав название целевого прокси-сервера и имя
ProxyEndpoint. - Указав путь к целевой конечной точке прокси
Вы подключаете целевые прокси в конфигурации TargetEndpoint, используя элемент LocalTargetConnection, как описано ниже.
Как подключить прокси-серверы по названию
Целевой прокси-сервер можно указать по названию. Это особенно полезно, когда вы создаете подключение с нуля и разрабатываете прокси-серверы вместе. Если вы не знаете название или оно может измениться, попробуйте подключиться к конечной точке целевого прокси-сервера, как описано ниже.
При подключении к целевому прокси-серверу по имени вы указываете имя прокси-сервера и имя его ProxyEndpoint.
В следующем примере указан целевой прокси-сервер data-manager, а также имя ProxyEndpoint, предоставленное data-manager. Справочную информацию можно найти в документации по конфигурации прокси-сервера API.
<TargetEndpoint name="datamanager">
<PreFlow name="PreFlow">
<!-- PreFlow policies -->
</PreFlow>
<PostFlow name="PostFlow">
<!-- PostFlow policies -->
</PostFlow>
<LocalTargetConnection>
<APIProxy>data-manager</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>
</TargetEndpoint>Как подключить прокси-серверы по пути
Целевой прокси-сервер можно указать по пути конечной точки. Этот способ может быть полезен, если вы не знаете название прокси-сервера или оно может измениться.
Если ваш прокси-сервер просто потребитель целевого прокси-сервера (например, если вы не разрабатываете оба), путь может быть самым надежным способом подключения. Например, если прокси-сервер, к которому вы подключаетесь, разработан и поддерживается другой командой, вы можете захотеть подключиться, используя надежный путь конечной точки.
В следующем примере указан целевой прокси-сервер по адресу /v1/streetcarts/foodcarts/data-manager, где хост считается таким же, как у текущего прокси-сервера. Справочную информацию можно найти в справочнике по конфигурации прокси-сервера API.
<TargetEndpoint name="datamanager">
<PreFlow name="PreFlow">
<!-- PreFlow policies -->
</PreFlow>
<PostFlow name="PostFlow">
<!-- PostFlow policies -->
</PostFlow>
<LocalTargetConnection>
<Path>/v1/streetcarts/foodcarts/data-manager</Path>
</LocalTargetConnection>
</TargetEndpoint>Как подключить прокси-серверы к консоли управления
Вы можете создавать цепочки прокси-серверов с помощью консоли управления Edge.
- Откройте прокси-сервер, который будет использовать целевой прокси-сервер.
- В Навигаторе нажмите на значок плюса рядом с пунктом Целевые конечные точки.
- В диалоговом окне New Target Endpoint (Новая целевая конечная точка) введите название целевой конечной точки.
- Под полем Название целевой конечной точки выберите один из следующих вариантов:
-
Цепочка прокси, чтобы выбрать из списка прокси, уже имеющихся в организации и среде.
- В раскрывающемся списке Название прокси-сервера выберите целевой прокси-сервер.
- В поле Proxy Endpoint (Конечная точка прокси) введите целевой путь конечной точки прокси, к которой вы хотите подключиться.
- Path Chaining (Цепочка путей), чтобы ввести базовый путь целевого прокси-сервера, например
/mypath/myproxy/myendpoint.
-
Цепочка прокси, чтобы выбрать из списка прокси, уже имеющихся в организации и среде.
- Нажмите Добавить.
Цепочки прокси, продукты API и безопасность
Цепочка прокси лучше всего подходит для случаев, когда оба прокси находятся в одном продукте API. По умолчанию клиентам доступны оба варианта. В настоящее время Apigee не поддерживает объединение второго прокси в отдельный продукт API, к которому у клиентов не должно быть доступа.
Если второй прокси-сервер должен быть защищен от прямых запросов клиента, добавьте логику, чтобы второй прокси-сервер проверял IP-адрес клиента. Если звонок совершен с помощью цепочки, IP-адрес будет локальным. Ваш код может проверить, является ли запрос локальным, прежде чем разрешить дальнейшую обработку. Один из способов описан в правилах контроля доступа.