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:
- En el MP, edita el siguiente archivo:
/opt/apigee/customer/application/message-processor.properties
Si el archivo
message-processor.propertiesno 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 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 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 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
<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.