配置从边缘到后端服务器的转发代理

Edge for Private Cloud v. 4.17.05

如果您想在 Edge 和后端目标服务器之间使用 HTTP 转发代理,则必须在边缘消息处理器节点上配置出站代理设置属性。 这些属性用于配置消息处理器,以将目标请求从 Edge 路由到 HTTP 转发代理。

如需配置消息处理器,请修改 /opt/apigee/customer/application/message-processor.properties,然后重启消息处理器。如果 message-processor.properties 文件不存在,请创建该文件。

设置以下属性来配置消息处理器:

属性

说明

conf_http_HTTPClient.use.proxy

指定所有 API 代理都使用正向代理 true,或者默认不使用它,即 false

conf_http_HTTPClient.use.tunneling

默认情况下,Edge 会对所有流量使用隧道技术。要默认停用隧道技术,请将此属性设为 false

conf/http.properties+HTTPClient.proxy.type

将 HTTP 代理的类型指定为 HTTPHTTPS。默认情况下,它使用 HTTP

conf/http.properties+HTTPClient.proxy.host

指定运行 HTTP 代理的主机名或 IP 地址。

conf/http.properties+HTTPClient.proxy.port

指定运行 HTTP 代理的端口。如果省略此属性,则默认为 HTTP 使用端口 80,HTTPS 使用端口 443。

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=uName
conf/http.properties+HTTPClient.proxy.password=pWord

设置以下属性后,请务必重启消息处理器:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

如果为消息处理器配置了正向代理,则从 API 代理到后端目标的所有流量都会经过指定的 HTTP 转发代理。如果某个 API 代理的特定目标流量应直接转到后端目标(绕过转发代理),然后在目标端点中设置以下属性来替换 HTTP 转发代理:

<Property name="use.proxy">false</Property> 

如需详细了解如何在目标端点上设置属性,请参阅端点属性参考文档

如果您不希望任何目标默认使用 HTTP 转发代理,可以按如下方式指定 http.properties:

conf_http_HTTPClient.use.proxy=false

然后,针对要通过 HTTP 正向代理传送的任何目标端点,将 use.proxy 设置为 true:

<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 代理发出请求,该代理可以连接到外部服务。