Referencia de la propiedad del host virtual

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Representación de host virtual

El objeto XML que usas para definir un host virtual se basa en tu versión de Edge: Cloud o nube privada.

Si eres cliente de la Nube privada, debes asegurarte de usar el XML correcto para tu versión de Edge.

Nube privada y nube 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>

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 puedes usar para configurar un host virtual:

Propiedades Descripción Predeterminada Obligatorio
VirtualHost

Especifica el nombre del host virtual. Usarás ese nombre para hacer referencia al host virtual cuando configures un proxy de API.

Los caracteres que puedes utilizar en el atributo de nombre están restringidos a: A-Z0-9._\-$%.

Ninguno
Puerto

Especifica el número de puerto que usa el host virtual. Asegúrate de que el puerto esté abierto en el router de borde.

Si especificas un puerto en un elemento hostalias, el número de puerto especificadas por <Port> debe coincidir.

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 que no es el 443, no puedes cambiarlo.

Para las versiones 4.16.01 a 4.17.05 de Private Cloud: Cuando creas un host virtual, debes especificar el puerto del router que usa el host virtual. Por ejemplo, el puerto 9,001. 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 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 Configurar un host virtual para más.

Para versiones de nube privada anteriores a 4.16.01: un router puede escuchar solo 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 terminación de TLS en el router en el puerto especificado.

Ninguno
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 frente a los routers de borde. Consulta Configura el acceso a TLS a una API para la nube privada para obtener más información.

El valor de BaseUrl debe incluir el protocolo (es decir, “http://” o “https://”).

Ninguno No
OCSPStapling

Un cliente de OCSP (protocolo de estado de certificado en línea) envía un estado a una respuesta 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á habilitado, el engrapado OCSP permite Edge, ya que actúa como servidor TLS para TLS unidireccional. para consultar la respuesta de OCSP directamente y luego almacenar en caché la respuesta. Luego, Edge muestra esta respuesta al cliente de TLS o la fija como parte del protocolo de enlace de TLS. Consulta Cómo habilitar la inmovilización de OCSP en tu servidor. para obtener más información.

Se debe habilitar TLS para habilitar el agrupamiento de OCSP. Configúralo en on para habilitarlo. El valor predeterminado es off.

desactivada No
HostAliases
HostAlias

El nombre de DNS visible públicamente del host virtual en el router, que incluye el número de puerto. La combinación del nombre de alias de host y el número de puerto del host virtual debe ser única para todos los hosts virtuales de la instalación de Edge. Esto significa que múltiples entornos 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 con el El alias debe coincidir con la string que el cliente pasa en el encabezado Host.

El número de puerto en HostAlias es opcional. Si especificas el puerto como parte del alias de host, también debes especificar el mismo puerto con el elemento <Port>. También puedes especificar dos elementos HostAlias. uno con el número de puerto y otro sin.

Puedes tener varias definiciones de HostAlias en la misma definición de host virtual, que corresponde a varias entradas de DNS para el pero no para varios puertos. Si deseas tener varios puertos, crea varias definiciones de host virtual con puertos diferentes.

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 mezclar con otros caracteres. Por ejemplo: *.example.com. El certificado TLS del host virtual debe tener un comodín coincidente en el nombre del CN del certificado. Por ejemplo, *.example.com El uso de un comodín en un alias de host virtual permite que los proxies de API controlen llamadas dirigidas a varios subdominios, como alpha.example.com, beta.example.com o live.example.com. El uso de un alias de comodín también te ayuda a usar menos hosts virtuales por entorno para mantenerte dentro de los límites del producto, ya que un host virtual con un comodín cuenta como un solo host virtual.

Para Cloud: Si tienes un host virtual existente que usa un puerto distinto de 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 las entradas de DNS, agrega un alias de host independiente para cada router y especifica la dirección IP de cada router y el puerto del host virtual.

Ninguno
Interfaces Solo está disponible para Edge para la nube privada.
Interfaz

Especifica las interfaces de red a las que deseas vincular port. Si omites este elemento, el puerto se vinculará en todas las interfaces.

Por ejemplo, para especificar que se vincule el puerto solo a en0:

<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 la nube privada 4.18.01 y versiones posteriores.
RetryOption

Configura cómo reacciona el router para este host virtual cuando falla el procesador de mensajes.

Puedes especificar varios valores con <RetryOption>. Valores válidos incluyen:

off Inhabilita los reintentos y el host virtual muestra un código de falla cuando se realiza una solicitud.
http_599 (Predeterminado) Si el router recibe una respuesta HTTP 599 del Mensaje o procesador, el router reenvía la solicitud al siguiente procesador de mensajes.

HTTP 599 es un código de respuesta especial que genera un procesador de mensajes cuando se cierra. El procesador de mensajes intenta completar todas las solicitudes existentes, pero para las solicitudes nuevas, responde con HTTP 599 para indicarle al router que vuelva a intentar la solicitud en el siguiente procesador de mensajes.

error Si se produjo un error al establecer la conexión con Message Processor, al pasar una solicitud o leer el encabezado de respuesta de él, el router reenvía la solicitud al siguiente Message Processor.
timeout Si se agota el tiempo de espera mientras se establece una conexión con el procesador de mensajes, se le pasa una solicitud o se lee el encabezado de respuesta, el router reenvía la solicitud al siguiente procesador de mensajes.
invalid_header Si el Message Processor devolvió una respuesta vacía o no válida, el router reenvía la solicitud al siguiente Message Processor.
http_XXX Si el procesador de mensajes mostró una respuesta con HTTP código XXX, el router reenvía la solicitud al siguiente mensaje Procesador.

Si especificas varios valores, el router usa un operador 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 posteriores, y para Edge Cloud realizando una solicitud a la asistencia de Apigee Edge.
ListenOption

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 del cliente, en lugar de la IP de cliente real. Si el router requiere la IP de cliente verdadera, habilitar proxy_protocol en ELB para que pase la IP del cliente en el paquete de TCP. En el router, también debes configurar <ListenOption> en el host virtual como proxy_protocol. Debido a que el ELB está en modo de transferencia de TCP, por lo general, se finaliza TLS en el router. Por lo tanto, por lo general, solo configuras el host virtual para que use proxy_protocol cuando también lo configuras para que use TLS.

El valor predeterminado de <ListenOption> es una cadena vacía.

Por ejemplo:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Para restablecer <ListenOption> más adelante, actualiza el host virtual y omite la etiqueta <ListenOptions> de la actualización.

SSLInfo
Habilitado

Habilita TLS/SSL unidireccional. Debes haber definido un almacén de claves que contenga las etiquetas de certificado y 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 AC autofirmada.

En Cloud: Si tu host virtual existente está configurado para usar un puerto aparte de 443, no puedes cambiar la configuración de TLS. Eso significa que no puedes cambiar la configuración de TLS desde habilitado a inhabilitado o de inhabilitado a habilitado.

falso No
ClientAuthEnabled Habilita TLS bidireccional o cliente entre Edge (servidor) y la app (cliente) que realiza la solicitud. Para habilitar TLS bidireccional, debes configurar 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 cambiarlo sin tener que reiniciar los routers. Consulta Opciones para configurar TLS para obtener más información.

Ninguno Sí, si la opción Habilitado es verdadera
KeyAlias El alias especificado cuando subiste el certificado y la clave privada al almacén de claves. Tú debes especificar el nombre del alias literalmente; no puedes usar una referencia. Consulta Opciones para configurar TLS para obtener más información. Ninguno Sí, si Enabled es verdadero
TrustStore

El nombre del almacén de confianza en Edge que contiene el certificado o la cadena de certificados que se usa para TLS bidireccional. Obligatorio si <ClientAuthEnabled> es verdadero.

Apigee recomienda que uses una referencia para especificar el nombre del almacén de confianza, de modo que puedas cambiarlo sin tener que reiniciar los routers. Consulta Opciones para configurar TLS para obtener más información.

Ninguno No
IgnoreValidationErrors

Si es verdadero, 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. cuando configures hosts virtuales que usen 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.

falso No
Algoritmos de cifrado

Solo para Edge para la nube privada versión 4.15.07 y anteriores.

Especifica los cifrados que admite el host virtual. Si no se especifican algoritmos de cifrado, se permitirán todos los cifrados disponibles para la JVM.

Para restringir los cifrados, 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 es compatible con la JVM No
Protocolos

Solo para Edge for Private Cloud 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 son compatibles con la JVM. No
UseBuiltInFreeTrialCert Disponible solo para Edge Cloud.
UseBuiltInFreeTrialCert

Si tienes una cuenta paga de Edge para Cloud y aún no tienes un certificado y una clave TLS, puedes crear un host virtual que use el certificado y la clave de prueba gratuita de Apigee Eso significa que puedes crear en el host virtual sin crear primero un almacén de claves.

El certificado de prueba gratuita de Apigee se define para un dominio de *.apigee.net. Por lo tanto, el <HostAlias> del host virtual también debe tener el formato *.apigee.net.

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 versión alfa para Edge Cloud.
ConnectionProperties

Habilita que Edge capture información de conexión TLS. Esta información estará disponible como variables de flujo en un proxy de API. Consulta Cómo acceder a la información de conexión TLS en un proxy de API para obtener más información.

falso No
ClientProperties

Habilita la captura de los detalles del certificado de cliente capturados por Edge en TLS bidireccional. Luego, esta información está disponible como variables de flujo en un proxy de API. Consulta Cómo 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 la nube privada 4.17.01 y versiones posteriores.
proxy_read_timeout

Establece la duración del tiempo de espera, en segundos, entre los procesadores de mensajes y el router. El El router descarta la conexión y devuelve una respuesta HTTP 504 si no recibe una respuesta del procesador de mensajes antes de que este período venza.

El valor de proxy_read_timeout debe ser mayor que el valor de tiempo de espera objetivo que se usa. por el procesador de mensajes. Esto garantiza que el router no se agote antes de que el procesador de mensajes tenga tiempo para mostrar una respuesta. El tiempo de espera predeterminado del objetivo para el procesador de mensajes es de 55 segundos, 55,000 milisegundos, como lo define el token conf_http_HTTPTransport.io.timeout.millis para el procesador de mensajes.

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 abierta la conexión hasta que venza la duración.

El router no cerrará la conexión si está esperando una respuesta del procesador de mensajes. El tiempo de espera comienza solo después de que el router devuelva 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 acerca de 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 algoritmos de cifrado de OpenSSL, como AES128-SHA256, y no los nombres de algoritmos de cifrado de Java/JSSE, como TLS_RSA_WITH_AES_128_CBC_SHA256.

HIGH:!aNULL:

!MD5:

!DH+3DES:

!kEDH

No
ssl_protocols

Solo está disponible para Edge para la nube privada.

Establece los protocolos TLS que admite el host virtual, como una lista delimitada por espacios. y anula los protocolos predeterminados configurados en el router.

Nota: Si dos hosts virtuales comparten el mismo puerto, se deben configurar ssl_protocols a los mismos protocolos. Es decir, los hosts virtuales que comparten el mismo puerto deben admiten exactamente los mismos protocolos.

Especifica una lista de protocolos TLS delimitados por espacios, 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 se activa el almacenamiento en búfer, El router almacena en búfer todo el cuerpo de la solicitud antes de enviarla al Message Processor. Si hay un error, el router puede volver a intentar con otro procesador de mensajes.

Si está desactivado, se inhabilita el almacenamiento en búfer y el cuerpo de la solicitud se envía al procesador de mensajes de inmediato cuando se recibe. Si hay un error, el router no vuelve a intentar la solicitud a otro Message Processor.

el No
proxy_buffering 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 forma síncrona, inmediatamente después de que la recibe el router. el No