Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Вы можете указать, что один прокси-сервер является целевой конечной точкой другого, фактически соединяя два прокси-сервера в цепочку. Такое объединение прокси-серверов помогает избежать сетевого перехода и, следовательно, повысить общую производительность.
При использовании цепочки прокси-серверов вы указываете, что один прокси-сервер является локальной целевой конечной точкой другого. Вместо использования элемента 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.
- Откройте прокси-сервер, который будет взаимодействовать с целевым прокси-сервером.
- В панели навигации нажмите знак плюса рядом с пунктом «Целевые конечные точки» .
- В диалоговом окне «Новая целевая конечная точка» введите имя целевой конечной точки.
- В поле «Имя целевой конечной точки» выберите один из следующих вариантов:
- Использование цепочки прокси-серверов позволяет выбирать прокси-серверы из списка, уже имеющихся в организации и среде.
- В раскрывающемся списке «Имя прокси» выберите целевой прокси.
- В поле «Конечная точка прокси» введите путь к целевой конечной точке прокси, к которой вы хотите подключиться.
- Использование цепочки путей позволяет ввести базовый путь целевого прокси-сервера, например
/mypath/myproxy/myendpoint.
- Использование цепочки прокси-серверов позволяет выбирать прокси-серверы из списка, уже имеющихся в организации и среде.
- Нажмите «Добавить» .
Цепочки прокси, API-продукты и безопасность
Использование цепочки прокси-серверов лучше всего подходит в случаях, когда оба прокси-сервера находятся в одном и том же API-продукте. По умолчанию оба доступны клиентам. В настоящее время Apigee не поддерживает включение второго прокси-сервера в отдельный API-продукт, к которому клиенты не должны иметь доступа.
Если ваш второй прокси-сервер должен быть защищен от прямых запросов клиента, рассмотрите возможность добавления логики, которая заставит ваш второй прокси-сервер проверять IP-адрес клиента. В случае вызова, выполненного в цепочке, IP-адрес будет локальным. Ваш код может проверить, является ли он локальным, прежде чем разрешить продолжение обработки. Один из способов сделать это описан в политике контроля доступа .