转发代理提供单一点,让多台机器可向外部服务器发送请求。它们可以强制执行安全政策、记录和分析请求,以及执行其他操作,以便请求符合您的业务规则。在 Edge 中,转发代理 用作 API 代理中间节点和外部 TargetEndpoint(后端目标服务器)。
要在 Edge 和 TargetEndpoint 之间使用 HTTP 转发代理,您必须配置 消息处理器 (MP) 上的出站代理设置。这些属性用于配置 MP 将目标请求从 Edge 路由到 HTTP 转发代理。
要配置 MP 以进行转发代理,请执行以下操作:
- 在 MP 上,编辑以下文件:
/opt/apigee/customer/application/message-processor.properties
如果
message-processor.properties
文件不存在,请创建该文件。 - 修改该文件以设置下表所述的代理相关属性。
- 确保属性文件归“apigee”所有用户:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 保存对属性文件所做的更改。
- 重启 MP,如以下示例所示:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
下表介绍了 message-processor.properties
中的属性
(用于配置 MP 以向后端服务器转发代理)的文件:
属性 | 说明 |
---|---|
conf_http_HTTPClient.use.proxy |
允许使用正向代理。默认值为 如果将此值设置为 |
conf_http_HTTPClient.use.tunneling |
默认情况下,Edge 对所有流量都使用隧道技术。要默认停用隧道 请将此属性设为“false”。 |
use.proxy.host.header.with.target.uri |
将目标主机和端口设置为 <HTTPTargetConnection> <Properties> <Property name="use.proxy.host. header.with.target.uri">true </Property> </Properties> <URL>https://mocktarget.apigee.net/ my-target</URL> </HTTPTargetConnection> |
conf/http.properties+HTTPClient.proxy.type |
将 HTTP 代理的类型指定为 HTTP 或 HTTPS。默认情况下,它使用“HTTP”。 |
conf/http.properties+HTTPClient.proxy.host |
指定运行 HTTP 代理的主机名或 IP 地址。 |
conf/http.properties+HTTPClient.proxy.port |
指定运行 HTTP 代理的端口。如果省略此属性,默认情况下,它将使用端口 80(用于 HTTP)和端口 443(用于 HTTPS)。 |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
如果 HTTP 代理需要基本身份验证,则可使用这些属性来提供 授权详情。 |
例如:
conf_http_HTTPClient.use.proxy=true conf_http_HTTPClient.use.tunneling=false conf/http.properties+HTTPClient.proxy.type=HTTP conf/http.properties+HTTPClient.proxy.host=my.host.com conf/http.properties+HTTPClient.proxy.port=3128 conf/http.properties+HTTPClient.proxy.user=USERNAME conf/http.properties+HTTPClient.proxy.password=PASSWORD
如果为 MP 配置了转发代理,则从 API 流向的所有流量 后端目标的代理会经过指定的 HTTP 转发代理。如果 API 代理的特定目标的流量应直接流向后端目标,从而绕过转发代理,请在 TargetEndpoint 中设置以下属性以替换 HTTP 转发代理:
<Property name="use.proxy">false</Property>
如需详细了解如何设置 TargetEndpoint 属性,包括如何配置与目标端点的连接,请参阅端点属性参考文档。
要默认为所有目标停用正向代理,请在
message-processor.properties
文件:
conf_http_HTTPClient.use.proxy=false
然后将 use.proxy
设置为“true”为你要通过的任何目标端点
HTTP 转发代理:
<Property name="use.proxy">true</Property>
默认情况下,Edge 对流向代理的流量使用隧道技术。要默认停用隧道
在 message-processor.properties
文件中设置以下属性:
conf_http_HTTPClient.use.tunneling=false
如果要为特定目标停用隧道技术,
use.proxy.tunneling
属性。如果目标使用 TLS/SSL
那么系统会忽略此属性,并始终通过隧道发送消息:
<Property name="use.proxy.tunneling">false</Property>
让 Edge 本身充当转发代理 - 接收来自后端服务和 将他们路由到企业外部的互联网。请先在 Edge 上设置 API 代理。通过 然后后端服务可以向 API 代理发出请求,然后 API 代理可以连接到外部 服务。