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:
- En la MP, edita el siguiente archivo:
/opt/apigee/customer/application/message-processor.properties
Si el archivo
message-processor.properties
no existe, créalo. - Edita el archivo para establecer las propiedades relacionadas con el proxy que se describen en la siguiente tabla.
- Asegúrate de que el archivo de propiedades sea propiedad del usuario “apigee”:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Guarda los cambios en el archivo de propiedades.
- 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 Si estableces este valor en |
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 <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.