Configura el proxy de reenvío

Los proxies de reenvío proporcionan un punto único a través del cual varias máquinas envían solicitudes a un servidor externo. Pueden aplicar políticas de seguridad, registrar y analizar solicitudes, y realizar otras acciones para que las solicitudes cumplan con las reglas de tu empresa. Con Edge, un proxy de reenvío suele actuar como intermediario entre tus proxies de API y un TargetEndpoint externo (un servidor de destino de backend).

Para usar un proxy de reenvío HTTP entre Edge y TargetEndpoint, debes establecer la configuración del proxy de salida en los Message Processors (MP). Estas propiedades configuran los MP para enrutar las solicitudes de destino de Edge al proxy de reenvío HTTP.

Para configurar un MP para el proxy de reenvío, sigue estos pasos:

  1. En el MP, edita el siguiente archivo:
    /opt/apigee/customer/application/message-processor.properties

    Si el archivo message-processor.properties no existe, créalo.

  2. Edita el archivo para establecer las propiedades relacionadas con el proxy que se describen en la siguiente tabla.
  3. Asegúrate de que el archivo de propiedades sea propiedad del usuario "apigee":
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Guarda los cambios en el archivo de propiedades.
  5. Reinicia el MP, como se muestra en el siguiente ejemplo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

En la siguiente tabla, se describen las propiedades del archivo message-processor.properties que usas para configurar un MP para el proxy de reenvío a un servidor de backend:

Propiedad Descripción
conf_http_HTTPClient.use.proxy

Permite el uso de un proxy de reenvío. El valor predeterminado es true, lo que significa que puedes usar un proxy de reenvío en la capa de proxy de API incluyendo el XML pertinente en la configuración del paquete.

Si estableces este valor en false, no podrás usar un proxy de reenvío.

conf_http_HTTPClient.use.tunneling

De forma predeterminada, Edge usa la tunelización para todo el tráfico. Para inhabilitar la tunelización de forma predeterminada, establece esta propiedad en "false".

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

Establece el host y el puerto de destino como un encabezado Host. De forma predeterminada, el host y el puerto del proxy se configuran como encabezados Host. Solo puedes establecer esta propiedad en el extremo de destino. Por ejemplo:

<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

Especifica el tipo de proxy HTTP, como HTTP o HTTPS. De forma predeterminada, usa "HTTP".

conf/http.properties+HTTPClient.proxy.host

Especifica el nombre de host o la dirección IP donde se ejecuta el proxy HTTP.

conf/http.properties+HTTPClient.proxy.port

Especifica el puerto en el que se ejecuta el proxy HTTP. Si se omite, de forma predeterminada, se usará el puerto 80 para HTTP y el puerto 443 en el caso de HTTPS.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

Si el proxy HTTP requiere autenticación básica, usa estas propiedades para proporcionar detalles de autorización.

Por ejemplo:

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

Si el proxy de reenvío está configurado para el MP, todo el tráfico que va de los proxies de API a los destinos de backend pasa por el proxy de reenvío HTTP especificado. Si el tráfico de un destino específico de un proxy de API debe ir directamente al destino de backend, se debe pasar el proxy de reenvío y, luego, configurar la siguiente propiedad en el TargetEndpoint para anular el proxy HTTP de reenvío:

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

Para obtener más información sobre cómo configurar las propiedades de TargetEndpoint, incluido cómo configurar la conexión con el extremo de destino, consulta Referencia de las propiedades de los extremos.

Para inhabilitar el proxy de reenvío para todos los destinos de forma predeterminada, configura la siguiente propiedad en tu archivo message-processor.properties:

conf_http_HTTPClient.use.proxy=false

Luego, configura use.proxy como "true" para cualquier TargetEndpoint que quieras que pase por un proxy de reenvío HTTP:

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

De forma predeterminada, Edge usa la tunelización para el tráfico al proxy. Para inhabilitar la tunelización de forma predeterminada, establece la siguiente propiedad en el archivo message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

Si deseas inhabilitar la tunelización para un destino específico, establece la propiedad use.proxy.tunneling en TargetEndpoint. Si el destino usa TLS/SSL, se ignora esta propiedad y el mensaje siempre se envía a través de un túnel:

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

Para que Edge actúe como proxy de reenvío, es decir, que reciba solicitudes de los servicios de backend y las enrute a Internet fuera de la empresa, primero configura un proxy de API en Edge. Luego, el servicio de backend puede realizar una solicitud al proxy de API, que, a su vez, puede conectarse a servicios externos.