Estás viendo la documentación de Apigee Edge.
Ir a la documentación de
Apigee X. info
Representación del host virtual
El objeto XML que usas para definir un host virtual se basa en tu versión de Edge: Cloud o Private Cloud.
Si eres cliente de Private Cloud, debes asegurarte de usar el XML correcto para tu versión de Edge.
Cloud y Private Cloud 4.17.01 y versiones posteriores
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<BaseUrl>http://myCo.com</BaseUrl>
<OCSPStapling>offOn</OCSPStapling>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
</Interfaces>
<RetryOptions>
<RetryOption>option</RetryOption>
</RetryOptions>
<ListenOptions>
<ListenOption>option</ListenOption>
</ListenOptions>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
<UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
<PropagateTLSInformation>
<!-- PropagateTLSInformation is Alpha in the Cloud only -->
<ConnectionProperties>trueFalse</ConnectionProperties>
<ClientProperties>trueFalse</ClientProperties>
</PropagateTLSInformation>
<Properties>
<Property name="proxy_read_timeout">timeout</Property>
<Property name="keepalive_timeout">timeout</Property>
<Property name="proxy_request_buffering">onOff</Property>
<Property name="proxy_buffering">onOff</Property>
<!-- ssl_protocols is Private Cloud only -->
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>Nube privada 4.16.01 a 4.16.09
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Private Cloud 4.15.07 y versiones anteriores
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>keystore</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>truststore</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
<Ciphers>
<Cipher>cipher</Cipher>
<Cipher>cipher</Cipher>
</Ciphers>
<Protocols>
<Protocol>protocol</Protocol>
<Protocol>protocol</Protocol>
</Protocols>
</SSLInfo>
</VirtualHost>Propiedades de configuración del host virtual
En la siguiente tabla, se enumeran las propiedades que usas para configurar un host virtual:
| Propiedades | Descripción | Predeterminado | Obligatorio | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VirtualHost |
Especifica el nombre del host virtual. Usas ese nombre para hacer referencia al host virtual cuando configuras un proxy de API. Los caracteres que puedes usar en el atributo name están restringidos a: A-Z0-9._\-$%. |
Ninguno | Sí | ||||||||||||
| Puerto |
Especifica el número de puerto que usa el host virtual. Asegúrate de que el puerto esté abierto en el router perimetral. Si especificas un puerto en un elemento Para Cloud: Debes especificar el puerto 443 cuando crees un host virtual. Si se omite, el puerto se establece en 443 de forma predeterminada. Si tienes un host virtual existente que usa un puerto distinto del 443, no puedes cambiar el puerto. Para las versiones de Private Cloud de la 4.16.01 a la 4.17.05: Cuando creas un host virtual, especificas el puerto del Router que usa el host virtual. Por ejemplo, el puerto 9001. De forma predeterminada, el Router se ejecuta como el usuario "apigee", que no tiene acceso a puertos con privilegios, por lo general, los puertos 1024 y los inferiores. Si deseas crear un host virtual que vincule el Router a un puerto protegido, debes configurar el Router para que se ejecute como un usuario con acceso a esos puertos. Consulta Cómo configurar un host virtual para obtener más información. Para las versiones de Private Cloud anteriores a la 4.16.01: Un router solo puede detectar una conexión HTTPS por host virtual, en un puerto específico, con el certificado especificado. Por lo tanto, varios hosts virtuales no pueden usar el mismo número de puerto si la finalización de TLS se produce en el Router en el puerto especificado. |
Ninguno | Sí | ||||||||||||
| BaseUrl | Anula la URL que muestra la IU de Edge para un proxy de API implementado en el host virtual. Es útil cuando tienes un balanceador de cargas externo delante de los Edge Routers. Para obtener más información, consulta Configura el acceso TLS a una API para la Nube privada.
El valor de |
Ninguno | No | ||||||||||||
| OCSPStapling |
Un cliente de OCSP (Online Certificate Status Protocol) envía una solicitud de estado a un respondedor de OCSP para determinar si el certificado TLS es válido. La respuesta indica si el certificado TLS es válido y no se revocó. Cuando está habilitada, la fijación de OCSP permite que Edge, que actúa como el servidor TLS para TLS unidireccional, consulte directamente al respondedor de OCSP y, luego, almacene en caché la respuesta. Luego, Edge devuelve esta respuesta al cliente de TLS o la adhiere como parte del protocolo de enlace de TLS. Consulta Cómo habilitar el OCSP Stapling en tu servidor para obtener más información. Se debe habilitar TLS para habilitar el grapado de OCSP. Configúralo en |
desactivada | No | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
Nombre de DNS visible públicamente del host virtual en el Router, que incluye de forma opcional el número de puerto. La combinación del nombre del alias de host y el número de puerto del host virtual debe ser única para todos los hosts virtuales en la instalación de Edge. Esto significa que varios hosts virtuales pueden usar el mismo número de puerto si tienen alias de host diferentes. Debes crear una entrada DNS y un registro CNAME que coincidan con el alias del host, y el alias del host debe coincidir con la cadena que el cliente pasa en el encabezado El número de puerto en Puedes tener varias definiciones de Puedes incluir el carácter comodín “*” en el alias de host. El carácter comodín "*" solo puede estar al comienzo (antes del primer ".") del alias de host y no se puede combinar con otros caracteres.
Por ejemplo: Para Cloud: Si tienes un host virtual existente que usa un puerto distinto del 443, no puedes agregar ni quitar un alias de host. Para Private Cloud: Si configuras el alias de host con las direcciones IP de tus routers y no con entradas de DNS, agrega un alias de host independiente para cada router, especificando la dirección IP de cada router y el puerto del host virtual. |
Ninguno | Sí | ||||||||||||
| Interfaces | Solo está disponible para Edge para la nube privada. | ||||||||||||||
| Interfaz |
Especifica las interfaces de red a las que deseas que se vincule Por ejemplo, para especificar que se vincule el puerto solo a en0, haz lo siguiente: <Interfaces> <Interface>en0</Interface> </Interfaces> Ejecuta el comando "ifconfig -a" para determinar las interfaces disponibles en tu sistema. |
Ninguno | Todas las interfaces | ||||||||||||
| RetryOptions | Disponible para Edge Cloud y para Private Cloud 4.18.01 y versiones posteriores. | ||||||||||||||
| RetryOption |
Configura cómo reacciona el Router para este host virtual cuando el Message Processor deja de funcionar. Puedes especificar varios valores con
Si especificas varios valores, el Router usa un OR lógico para combinarlos. Por ejemplo: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
| ListenOptions | Disponible para la nube privada 4.18.01 y versiones posteriores, y para la nube de Edge si se realiza una solicitud al equipo de asistencia de Apigee Edge. | ||||||||||||||
| ListenOption |
Si usas un ELB en modo de transferencia TCP para controlar las solicitudes a los Edge Routers, el Router trata la dirección IP del ELB como la IP del cliente en lugar de la IP del cliente real. Si el router requiere la IP real del cliente, habilita El valor predeterminado de Por ejemplo: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Para anular la configuración de |
||||||||||||||
| SSLInfo | |||||||||||||||
| Habilitado |
Habilita TLS/SSL unidireccional. Debes haber definido un almacén de claves que contenga el certificado y la clave privada. Para Cloud: Debes tener un certificado firmado por una entidad de confianza, como Symantec o VeriSign. No puedes usar un certificado autofirmado ni certificados de hoja firmados por una CA autofirmada. Para Cloud: Si tu host virtual existente está configurado para usar un puerto que no sea el 443, no puedes cambiar el parámetro de configuración de TLS. Esto significa que no puedes cambiar el parámetro de configuración de TLS de habilitado a inhabilitado, o viceversa. |
falso | No | ||||||||||||
| ClientAuthEnabled | Habilita TLS bidireccional o de cliente entre Edge (servidor) y la app (cliente) que realiza la solicitud. La habilitación de TLS bidireccional requiere que configures un almacén de confianza en Edge que contenga el certificado del cliente de TLS. | falso | No | ||||||||||||
| KeyStore |
Es el nombre del almacén de claves en Edge. Apigee recomienda que uses una referencia para especificar el nombre del almacén de claves, de modo que puedas cambiar el almacén de claves sin tener que reiniciar los routers. Consulta Opciones para configurar TLS para obtener más información. |
Ninguno | Sí, si Enabled es verdadero | ||||||||||||
| KeyAlias | Es el alias especificado cuando subiste el certificado y la clave privada al almacén de claves. Debes especificar el nombre del alias de forma literal; no puedes usar una referencia. Consulta Opciones para configurar TLS para obtener más información. | Ninguno | Sí, si Enabled es verdadero | ||||||||||||
| TrustStore |
Nombre del almacén de certificados de confianza en Edge que contiene el certificado o la cadena de certificados
que se usa para TLS bidireccional. Obligatorio si Apigee recomienda que uses una referencia para especificar el nombre del almacén de certificados de confianza, de modo que puedas cambiar el almacén de certificados de confianza sin tener que reiniciar los routers. Consulta Opciones para configurar TLS para obtener más información. |
Ninguno | No | ||||||||||||
| IgnoreValidationErrors |
Si es verdadero, se especifica que se deben ignorar los errores del certificado TLS. Esto es similar a la opción "-k" de cURL. Esta opción es válida cuando se configura TLS para servidores y extremos de destino, y cuando se configuran hosts virtuales que usan TLS bidireccionales. Cuando se usa con un extremo o servidor de destino, si el sistema de backend usa SNI y muestra un certificado con un nombre distinguido (DN) de tema que no coincide con el nombre de host, no hay forma de ignorar el error y la conexión falla. |
falso | No | ||||||||||||
| Cifrados |
Solo para Edge para la nube privada, versión 4.15.07 y anteriores. Especifica los algoritmos de cifrado que admite el host virtual. Si no se especifican algoritmos de cifrado, se permitirán todos los algoritmos de cifrado disponibles para la JVM. Para restringir los algoritmos de cifrado, agrega los siguientes elementos: <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
Todos los que admite la JVM | No | ||||||||||||
| Protocolos |
Solo para Edge para la nube privada, versión 4.15.07 y anteriores. Especifica los protocolos que admite el host virtual. Si no se especifican protocolos, se permitirán todos los protocolos disponibles para la JVM. Para restringir los protocolos, agrega los siguientes elementos: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
Todos los que admite la JVM | No | ||||||||||||
| UseBuiltInFreeTrialCert | Solo está disponible para Edge Cloud. | ||||||||||||||
| UseBuiltInFreeTrialCert |
Si tienes una cuenta paga de Edge para Cloud y aún no tienes un certificado y una clave de TLS, puedes crear un host virtual que use el certificado y la clave de prueba gratuitos de Apigee. Esto significa que puedes crear el host virtual sin antes crear un almacén de claves. El certificado de prueba gratuita de Apigee se define para un dominio de Consulta Cómo definir un host virtual que use el certificado y la clave de prueba gratuita de Apigee. |
falso | No | ||||||||||||
| PropagateTLSInformation | Solo está disponible en la versión alfa de Edge Cloud. | ||||||||||||||
| ConnectionProperties |
Habilita la captura de información de conexión TLS por parte de Edge. Luego, esta información está disponible como variables de flujo en un proxy de API. Consulta Acceder a la información de conexión TLS en un proxy de API para obtener más información. |
falso | No | ||||||||||||
| ClientProperties |
Permite capturar los detalles del certificado de cliente que Edge captura en la TLS bidireccional. Luego, esta información está disponible como variables de flujo en un proxy de API. Consulta Acceder a la información de conexión TLS en un proxy de API para obtener más información. |
falso | No | ||||||||||||
| Propiedades | Disponible para Edge Cloud y para Private Cloud 4.17.01 y versiones posteriores. | ||||||||||||||
| proxy_read_timeout |
Establece la duración del tiempo de espera, en segundos, entre los Message Processors y el Router. El router descarta la conexión y devuelve una respuesta HTTP 504 si no recibe una respuesta del Message Processor antes de que venza este período. El valor de proxy_read_timeout debe ser mayor que el valor de tiempo de espera objetivo que usa el Message Processor. Esto garantiza que el router no agote el tiempo de espera antes de que el Message Processor haya tenido tiempo para devolver una respuesta. El tiempo de espera predeterminado del destino para el Message Processor es de 55 segundos (55, 000 milisegundos), como se define en el token |
57 | No | ||||||||||||
| keepalive_timeout |
Establece la duración del tiempo de espera, en segundos, entre el cliente y el router cuando el cliente realiza una solicitud que contiene el encabezado Keep-Alive. El router mantiene la conexión abierta hasta que vence el plazo. El Router no cerrará la conexión si está esperando una respuesta del Message Processor. El tiempo de espera comienza solo después de que el enrutador devuelve la respuesta al cliente. |
65 | No | ||||||||||||
| ssl_ciphers |
Establece los algoritmos de cifrado admitidos por el host virtual y anula los algoritmos de cifrado predeterminados establecidos en el Router. Especifica una lista de algoritmos de cifrado delimitados por dos puntos, de la siguiente manera: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> Para obtener información sobre la sintaxis y los valores que permite este token, consulta https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Ten en cuenta que este token usa los nombres de cifrado de OpenSSL, como AES128-SHA256, y no los nombres de cifrado de Java/JSSE, como TLS_RSA_WITH_AES_128_CBC_SHA256. |
ALTA:!aNULL:
!MD5: !DH+3DES: !kEDH |
No | ||||||||||||
| ssl_protocols |
Solo está disponible para Edge para la nube privada. Establece los protocolos de TLS admitidos por el host virtual, como una lista delimitada por espacios, y anula los protocolos predeterminados establecidos en el router. Nota: Si dos hosts virtuales comparten el mismo puerto, deben establecer Especifica una lista de protocolos de TLS delimitados por espacios, con el siguiente formato: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1, TLSv1.1 y TLSv1.2 | No | ||||||||||||
| proxy_request_buffering |
Habilita (activado) o inhabilita (desactivado) el almacenamiento en búfer del cuerpo de la solicitud. Cuando el almacenamiento en búfer está activado, el router almacena en búfer todo el cuerpo de la solicitud antes de enviarlo al Message Processor. Si hay un error, el Router puede volver a intentar con otro Message Processor. Si está desactivada, se inhabilita el almacenamiento en búfer y el cuerpo de la solicitud se envía al Message Processor de inmediato cuando se recibe. Si hay un error, el Router no reintenta la solicitud a otro Message Processor. |
el | No | ||||||||||||
| proxy_buffering | Habilita (activado) o inhabilita (desactivado) el almacenamiento en búfer de la respuesta. Cuando el almacenamiento en búfer está activado, el router almacena en búfer la respuesta. Cuando el almacenamiento en búfer está desactivado, la respuesta se pasa al cliente de forma sincrónica, inmediatamente después de que el Router la recibe. | el | No | ||||||||||||