转发代理提供单一点,让多台机器可向外部服务器发送请求。它们可以强制执行安全政策、记录和分析请求,以及执行其他操作,以便请求符合您的业务规则。
通过在 Apigee Hybrid 中使用正向代理,您可以拦截和管理来自 Kubernetes 集群的所有出站流量。这包括 API 代理对目标端点的请求,以及 Hybrid 运行时针对调试和分析流水线以及 MessageLogging 等政策而与 *.googleapis.com 进行的通信。
要在 Hybrid 和 TargetEndpoint 之间使用 HTTP 转发代理,您必须在替换文件中配置出站代理设置。这些基于环境范围的属性会将目标请求从 Hybrid 路由到 HTTP 转发代理。对于您希望通过 HTTP 转发代理的任何 TargetEndpoint,您还需要确保将 use.proxy 设置为“true”。有关说明,请参阅页面底部。
要配置用于转发代理的混合环境,请向替换文件添加
envs.httpProxy属性并将其应用于集群。例如:
envs:
- name: test
httpProxy:
scheme: HTTP
host: 10.12.0.47
port: 3128
...如需详细了解每个 envs.httpProxy 配置属性,请参阅
配置属性参考文档。
已为环境配置转发代理;从该环境中的 API 代理到后端目标的所有流量都将通过指定的 HTTP 转发代理。如果 API 代理的特定目标的流量应直接流向后端目标,从而绕过转发代理,请在 TargetEndpoint 中设置以下属性以替换 HTTP 转发代理:
<Property name="use.proxy">false</Property>
如需详细了解如何设置 TargetEndpoint 属性,包括如何配置与目标端点的连接,请参阅端点属性参考文档。
对于您要通过
HTTP 转发代理的任何 TargetEndpoint,请将 use.proxy 设置为“true”:
<Property name="use.proxy">true</Property>
如果后端防火墙配置为始终在 Host Header 中包含 后端 服务器主机名,而消息处理器发送的是 代理服务器 主机名,请执行以下操作来配置此选项:
在 TargetEndpoint 中将属性 use.proxy.host.header.with.target.uri 设置为 true,如以下示例所示:
TargetEndpoint 配置示例:
<TargetEndpoint name="default">
<HTTPTargetConnection>
<URL>https://mocktarget.apigee.net/json</URL>
<Properties>
<Property name="use.proxy.host.header.with.target.uri">true</Property>
</Properties>
</HTTPTargetConnection>
</TargetEndpoint>如需详细了解 use.proxy.host.header.with.target.uri 属性,请参阅 端点属性参考文档。