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 intermedios de tus proxies de API y un TargetEndpoint externo (un servidor de destino de backend).

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

Si quieres configurar un MP para el reenvío de proxies, haz lo siguiente:

  1. En la 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 la 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 a fin de configurar una MP para reenviar proxies a un servidor de backend:

Propiedad Descripción
conf_http_HTTPClient.use.proxy

Permite reenviar el uso de proxy. El valor predeterminado es true, lo que significa que puedes usar un proxy de reenvío en la capa de proxy de la API si incluyes el XML relevante 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 los túneles de forma predeterminada, configura esta propiedad como “false”.

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

Configura el host y el puerto de destino como un encabezado Host. De forma predeterminada, el host y el puerto del proxy están configurados como encabezados Host. Solo puedes configurar 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 una 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 la MP, todo el tráfico que pasa 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.

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

conf_http_HTTPClient.use.proxy=false

Luego, configura use.proxy como “verdadero” para cualquier TargetEndpoint que desees pasar 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 hacia el proxy. Para inhabilitar los túneles de forma predeterminada, configura la siguiente propiedad en el archivo message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

Si quieres inhabilitar la tunelización para un destino específico, configura 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 funcione como proxy de reenvío, primero recibe solicitudes de los servicios de backend y las enruta 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 luego puede conectarse a servicios externos.