Estás viendo la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Representación del host virtual
El objeto XML que usas para definir un host virtual se basa en tu versión de Edge: nube o nube privada.
Si eres cliente de la nube privada, debes asegurarte de usar el XML correcto para tu versión de Edge.
Cloud y la nube privada 4.17.01 y 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 desde la versión 4.16.01 hasta la 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>
Nube privada 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 | Predeterminada | Obligatorio | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Host virtual |
Especifica el nombre del host virtual. Usa ese nombre para hacer referencia al host virtual cuando configuras un proxy de API. Los caracteres que puede usar en el atributo de nombre están restringidos a: A-Z0-9._\-$%. |
Ninguna | 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 creas 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 a 443, no puedes cambiar el puerto. Para las versiones de la nube privada 4.16.01 a la 4.17.05: Cuando creas un host virtual, debes especificar 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 los puertos con privilegios, por lo general, los puertos 1024 y anteriores. Si quieres crear un host virtual que vincule el router a un puerto protegido, debes configurar el router para que se ejecute como usuario con acceso a esos puertos. Consulta Cómo configurar un host virtual para obtener más información. Para las versiones de la nube privada anteriores a la 4.16.01: Un router solo puede escuchar 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 del puerto especificado. |
Ninguna | Sí | ||||||||||||
URL base | 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 frente a los routers perimetrales. Consulta Configura el acceso TLS a una API para la nube privada a fin de obtener más información.
El valor de |
Ninguna | No | ||||||||||||
OCSPStapling |
Un cliente de OCSP (protocolo de estado de certificado en línea) envía una solicitud de estado a una respuesta automática de OCSP para determinar si el certificado TLS es válido. La respuesta indica si el certificado TLS es válido y no se revoca. Cuando se habilita, la grabación de OCSP permite que Edge actúe como el servidor de TLS para la TLS unidireccional a fin de consultar la respuesta de OCSP directamente y, luego, almacenar en caché la respuesta. Luego, Edge le mostrará esta respuesta al cliente de TLS o la grabará como parte del protocolo de enlace TLS. Consulta Cómo habilitar la grapación de OCSP en tu servidor para obtener más información. Se debe habilitar TLS para habilitar la grapa OCSP. Configúralo en |
desactivado | No | ||||||||||||
HostAliases | |||||||||||||||
HostAlias |
El nombre de DNS visible públicamente del host virtual en el router, que puede incluir el número de puerto. La combinación de nombre de alias de host y número de puerto para el host virtual debe ser única en todos los hosts virtuales en la instalación de Edge. Eso significa que varios hosts virtuales pueden usar el mismo número de puerto si tienen alias de host diferentes. Debes crear una entrada de DNS y un registro CNAME que coincida con el alias de host, y el alias de host debe coincidir con la string que el cliente pasa en el encabezado El número de puerto en Puedes tener varias definiciones de Puede incluir el carácter comodín "*" en el alias de host. El carácter comodín "*" solo puede estar al principio (antes del primer ".") del alias de host y no se puede mezclar con otros caracteres.
Por ejemplo: Para Cloud: Si tienes un host virtual existente que usa un puerto distinto al 443, no puedes agregar ni quitar un alias de host. En la nube privada: Si configuras el alias de host mediante las direcciones IP de los routers, y no las entradas de DNS, agrega un alias de host independiente para cada router y especifica la dirección IP de cada router y puerto del host virtual. |
Ninguna | Sí | ||||||||||||
Interfaces | Disponible solo para Edge para la nube privada. | ||||||||||||||
Interfaz |
Especifica las interfaces de red a las que deseas vincular Por ejemplo, para especificar la vinculación del puerto solo a en0: <Interfaces> <Interface>en0</Interface> </Interfaces> Determina las interfaces disponibles en tu sistema mediante la ejecución del comando “ifconfig -a”. |
Ninguna | Todas las interfaces | ||||||||||||
RetryOptions | Disponible para Edge Cloud y para la nube privada 4.18.01 y posteriores. | ||||||||||||||
Reintentar |
Configura cómo reacciona el router para este host virtual cuando falla el procesador de mensajes. Puedes especificar varios valores mediante
Si especifica varios valores, el router utiliza un OR lógico para combinarlos. Por ejemplo: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
Escuchar opciones | Disponible para la nube privada 4.18.01 y posteriores, y para Edge Cloud mediante una solicitud a la Asistencia de Apigee Edge. | ||||||||||||||
Escuchar opción |
Si usas un ELB en el modo de transferencia de TCP para controlar las solicitudes a los routers perimetrales, el router trata la dirección IP del ELB como la IP de cliente en lugar de la IP de cliente real. Si el router requiere la verdadera IP de cliente, habilita El valor predeterminado para Por ejemplo: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Para anular la configuración de |
||||||||||||||
SSLInfo; | |||||||||||||||
Habilitada |
Habilita TLS/SSL unidireccional. Debes definir un almacén de claves que contenga el certificado y la clave privada. Para Cloud: Debe 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. En Cloud: Si tu host virtual existente está configurado para usar un puerto distinto a 443, no puedes cambiar la configuración de TLS. Eso significa que no puedes cambiar la configuración de TLS de habilitada a inhabilitada, o de inhabilitada a habilitada. |
false | No | ||||||||||||
ClientAuthEnabled | Habilita la TLS bidireccional, de cliente o TLS, entre Edge (servidor) y la app (cliente) que realiza la solicitud. Para habilitar la TLS bidireccional, debes configurar un almacén de confianza en Edge que contenga el certificado del cliente de TLS. | false | No | ||||||||||||
KeyStore |
El nombre del almacén de claves en Edge. Apigee recomienda que uses una referencia para especificar el nombre del almacén de claves a fin de que puedas cambiarlo sin tener que reiniciar los routers. Consulta Opciones para configurar TLS a fin de obtener más información. |
Ninguna | Sí, si Enabled es verdadero | ||||||||||||
Alias de clave | 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. Si deseas obtener más información, consulta Opciones para configurar TLS. | Ninguna | Sí, si Enabled es verdadero | ||||||||||||
Tienda de confianza |
El nombre del almacén de confianza en Edge que contiene el certificado o la cadena de certificados que se usa para la TLS bidireccional. Obligatorio si Apigee recomienda que uses una referencia para especificar el nombre del almacén de confianza a fin de que puedas cambiarlo sin tener que reiniciar los routers. Consulta Opciones para configurar TLS a fin de obtener más información. |
Ninguna | No | ||||||||||||
IgnoreValidationErrors |
Si es verdadero, especifica que se deben ignorar los errores de certificado TLS. Esto es similar a la opción “-k” de cURL. Esta opción es válida cuando se configura TLS para servidores de destino y extremos de destino, y cuando se configuran hosts virtuales que usan TLS bidireccional. 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. |
false | No | ||||||||||||
Cifrado |
Solo para Edge 4.15.07 y versiones anteriores de la nube privada. Especifica los algoritmos de cifrado compatibles con el host virtual. Si no se especifican cifrados, se permitirán todos los cifrados 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> |
Todo compatible con JVM | No | ||||||||||||
Protocolos |
Solo para Edge 4.15.07 y versiones anteriores de la nube privada. 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> |
Todo compatible con JVM | No | ||||||||||||
UseBuiltInFreeTrialCert | Disponible solo para Edge Cloud. | ||||||||||||||
Usar versión de prueba gratuita integrada |
Si tienes una cuenta de Edge de pago 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 gratuita de Apigee. Eso significa que puedes crear el host virtual sin crear primero un almacén de claves. El certificado de prueba gratuita de Apigee se define para un dominio de Consulta Define un host virtual que usa la certificación y la clave de la prueba gratuita de Apigee. |
false | No | ||||||||||||
Propaga información de TLS | Disponible en Alfa solo para Edge Cloud. | ||||||||||||||
Propiedades de conexión |
Habilita la captura de información de conexión TLS por parte de Edge. Esta información se encuentra disponible como variables de flujo en un proxy de API. Consulta Accede a la información de conexión TLS en un proxy de API para obtener más información. |
false | No | ||||||||||||
Propiedades del cliente |
Habilita la captura de los detalles del certificado de cliente capturados por Edge en TLS bidireccional. Esta información se encuentra disponible como variables de flujo en un proxy de API. Consulta Accede a la información de conexión TLS en un proxy de API para obtener más información. |
false | No | ||||||||||||
Propiedades | Disponible para Edge Cloud y para la nube privada 4.17.01 y posteriores. | ||||||||||||||
proxy_read_timeout |
Establece la duración del tiempo de espera, en segundos, entre el procesador de mensajes y el router. El router descarta la conexión y muestra una respuesta HTTP 504 si no recibe una respuesta del Message Processor antes de que venza esta duración. El valor de proxy_read_timeout debe ser mayor que el valor de tiempo de espera objetivo que usa Message Processor. Esto garantiza que el router no agote el tiempo de espera antes de que el procesador de mensajes haya tenido tiempo de mostrar una respuesta. El tiempo de espera predeterminado 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 de Keep-Alive. El router mantiene la conexión abierta hasta que vence la duración. 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 router muestra la respuesta al cliente. |
65 | No | ||||||||||||
cifrados ssl |
Establece los algoritmos de cifrado que admite el host virtual y anula los cifrados predeterminados establecidos en el router. Especifica una lista de valores delimitados por dos puntos, en el siguiente formato: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> Para obtener información sobre la sintaxis y los valores permitidos por este token, consulta https://www.openssl.org/docs/man1.0.2/man1/crypts.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. |
ALTO:!aNULL:
!MD5: !DH+3DES: !kEDH |
No | ||||||||||||
Protocolos_ssl |
Disponible solo para Edge para la nube privada. Establece los protocolos TLS compatibles con el host virtual como una lista delimitada por espacios, lo que anula los protocolos predeterminados establecidos en el router. Nota: Si dos hosts virtuales comparten el mismo puerto, deben configurar Especifica una lista delimitada por espacios de protocolos TLS en el siguiente formato: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | No | ||||||||||||
proxy_request_buffering |
Habilita (activa) o inhabilita (desactiva) el almacenamiento en búfer del cuerpo de la solicitud. Cuando está activado el almacenamiento en búfer, el router almacena en búfer todo el cuerpo de la solicitud antes de enviarlo al procesador de mensajes. Si se produce un error, el router puede reintentar un procesador de mensajes diferente. Si está desactivada, el almacenamiento en búfer se inhabilita y el cuerpo de la solicitud se envía al Message Processor de inmediato cuando se recibe. Si se produce un error, el router no vuelve a intentar la solicitud a otro procesador de mensajes. |
el | No | ||||||||||||
almacenamiento en búfer proxy | Habilita (activa) o inhabilita (desactiva) el almacenamiento en búfer de la respuesta. Cuando el almacenamiento en búfer está activado, el router almacena la respuesta en búfer. Cuando el almacenamiento en búfer está desactivado, la respuesta se pasa al cliente de manera síncrona, de inmediato cuando la recibe el router. | el | No |