配置正向代理

转发代理提供单一点,让多台机器可向外部服务器发送请求。它们可以强制执行安全政策、记录和分析请求,以及执行其他操作,以便请求符合您的业务规则。在 Edge 中,转发代理 用作 API 代理中间节点和外部 TargetEndpoint(后端目标服务器)。

要在 Edge 和 TargetEndpoint 之间使用 HTTP 转发代理,您必须配置 消息处理器 (MP) 上的出站代理设置。这些属性用于配置 MP 将目标请求从 Edge 路由到 HTTP 转发代理。

要配置 MP 以进行转发代理,请执行以下操作

  1. 在 MP 上,编辑以下文件:
    /opt/apigee/customer/application/message-processor.properties

    如果 message-processor.properties 文件不存在,请创建该文件。

  2. 修改该文件以设置下表所述的代理相关属性。
  3. 确保属性文件归“apigee”所有用户:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. 保存对属性文件所做的更改。
  5. 重启 MP,如以下示例所示:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

下表介绍了 message-processor.properties 中的属性 (用于配置 MP 以向后端服务器转发代理)的文件:

属性 说明
conf_http_HTTPClient.use.proxy

允许使用正向代理。默认值为 true, 可以在 API 代理层使用正向代理,只需在您的 bundle 配置。

如果将此值设置为 false,则无法使用转发代理。

conf_http_HTTPClient.use.tunneling

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

use.proxy.host.header.with.target.uri

将目标主机和端口设置为 Host 标头。默认情况下 主机和端口 设为 Host 标头。您只能在 目标端点。例如:

<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 代理可以连接到外部 服务。