Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
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 y 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 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 más temprano
<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 de host virtual
En la siguiente tabla, se enumeran las propiedades que puedes usar para configurar un host virtual:
Propiedades | Descripción | Predeterminado | 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 | Sí | ||||||||||||
Puerto |
Especifica el número de puerto que usa el host virtual. Asegúrate de que el puerto esté abierto en la Router perimetral. Si especificas un puerto en un elemento En la nube: Debes especificar el puerto 443 cuando crees un host virtual. Si se omite, el puerto se establece de forma predeterminada en 443. Si ya tienes un host virtual que usa por un puerto que no sea el 443, no puedes cambiarlo. Para las versiones de nube privada 4.16.01 a 4.17.05: cuando se crea un 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 con privilegios, generalmente los puertos 1024 y versiones anteriores. Si quieres crear un host virtual que vincula el router a un puerto protegido, debes configurarlo para que se ejecute 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 | Sí | ||||||||||||
BaseUrl | Anula la URL que muestra la IU de Edge para un proxy de API implementado en la VM
host. Es útil cuando tienes un balanceador de cargas externo frente a los routers perimetrales. Consulta
Configura TLS
acceso a una API para la nube privada y obtén más.
El valor de |
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 el servidor TLS para TLS unidireccional. para consultar la respuesta de OCSP directamente y luego almacenar en caché la respuesta. Luego, Edge le muestra esta respuesta al cliente de TLS, o la grapa, como parte del protocolo de enlace TLS. Consulta Cómo habilitar la inmovilización de OCSP en tu servidor. para obtener más información. TLS debe estar habilitado para habilitar el engrapado OCSP. Configúralo en |
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 del alias del host y el número de puerto para el host virtual debe Debe ser único para todos los hosts virtuales en la instalación perimetral. 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 y el host
El alias debe coincidir con la string que el cliente pasa en el encabezado El número de puerto en Puedes tener varias definiciones de Puedes incluir el símbolo "*" en el alias del host. El símbolo "*" carácter comodín
estar solo al comienzo (que precede al primer punto “.”) del alias del host y no puede mezclarse con otros caracteres.
Por ejemplo: Para Cloud: si ya tienes un host virtual que usa un puerto de 443, no puedes agregar ni quitar un alias de host. Para la nube privada: si configuras el alias del host con la IP de tus routers y no de las entradas de DNS, agrega un alias de host independiente para cada Router que especifica la dirección IP de cada router y puerto del host virtual. |
Ninguno | Sí | ||||||||||||
Interfaces | Disponible solo en Edge para la nube privada. | ||||||||||||||
Interfaz |
Especifica las interfaces de red a las que deseas vincular Por ejemplo, para especificar que se vincule el puerto solo a en0: <Interfaces> <Interface>en0</Interface> </Interfaces> Determina las interfaces disponibles en tu sistema ejecutando el comando "ifconfig -a" kubectl. |
Ninguno | Todas las interfaces | ||||||||||||
RetryOptions | Disponible para Edge Cloud y para la nube privada 4.18.01 y más adelante. | ||||||||||||||
RetryOption |
Configura cómo reacciona el router a este host virtual cuando se conecta el Message Processor fuera de servicio. Puedes especificar varios valores con
Si especificas varios valores, el router usa un operador lógico OR 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 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 haber definido un almacén de claves que contenga las etiquetas de certificado y privada. En el caso de 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 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 la TLS bidireccional, o de cliente, entre Edge (servidor) y la app (cliente), lo que hace que la para cada 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 a fin de que puede 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 la opción Habilitado es verdadera | ||||||||||||
KeyAlias | Es 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 de configuración TLS para obtener más información. | Ninguno | Sí, si la opción Habilitado es verdadera | ||||||||||||
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 Apigee recomienda que uses una referencia para especificar el nombre del almacén de confianza, de modo que puede cambiar el almacén 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, especifica que se deben ignorar los errores del certificado TLS. Esto es similar a "-k" opción a 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 for Private Cloud 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> |
Todo es compatible 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 Consulta Definición de un host virtual que usa el certificado y la clave de prueba gratuita de Apigee |
falso | No | ||||||||||||
PropagateTLSInformation | Disponible en versión Alfa solo para Edge Cloud. | ||||||||||||||
ConnectionProperties |
Permite que Edge capture información de conexión TLS. Luego, esta información está 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. |
falso | No | ||||||||||||
ClientProperties |
Habilita la captura de los detalles del certificado de cliente que captura Edge en TLS bidireccional. Luego, esta información está 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. |
falso | No | ||||||||||||
Propiedades | Disponible para Edge Cloud y para la nube privada 4.17.01 y más adelante. | ||||||||||||||
proxy_read_timeout |
Establece la duración del tiempo de espera, en segundos, entre Message Processor 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 venza el período. 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 agote el tiempo de espera antes de que
El procesador de mensajes tuvo tiempo de devolver una respuesta. El tiempo de espera objetivo predeterminado para la
Message Processor es de 55 segundos, 55,000 milisegundos, según lo define la
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 abierta la conexión hasta que venza la duración. El router no cerrará la conexión si está esperando una respuesta. de Message Processor. 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 delimitado 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 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 el Nombres de cifrado Java/JSSE, como TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
No | ||||||||||||
ssl_protocols |
Disponible solo en 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
Especifica una lista de protocolos TLS delimitado por espacios, con 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 se produce un error, el router puede reintentar con otro procesador de mensajes. Si está desactivado, el almacenamiento en búfer se inhabilita y el cuerpo de la solicitud se envía al Message Processor inmediatamente a medida que se reciben. Si se produce un error, el router no vuelve a intentar el a otro procesador de mensajes. |
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, apenas los recibe el router. | el | No |