Configura hosts virtuales para la nube

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

Un cliente de Cloud con una cuenta pagada puede crear un host virtual en una organización.

Más información:

Quiénes pueden crear y modificar VMs los hosts en la nube

La creación y modificación de hosts virtuales solo está disponible para las cuentas pagadas en Edge Cloud. El usuario que crea el host virtual debe tener el rol de administrador de la organización o un rol personalizado con permisos para modificar un host virtual. Los usuarios con otras funciones no tienen autorización para crear hosts virtuales.

Por ejemplo, los clientes que pagan pueden hacer lo siguiente:

  • Habilita TLS unidireccional y bidireccional
  • Especifica el almacén de claves o el almacén de confianza que usa el host virtual.

Las cuentas gratuitas y de prueba no pueden crear ni modificar hosts virtuales y están limitadas a esos hosts. que se crearon para ellos en el momento del registro de Edge. Para obtener más información sobre los planes de precios de Edge, consulta https://apigee.com/api-management/#/pricing.

Requisitos de configuración de un host virtual para Cloud

En la siguiente tabla, se resumen los requisitos para crear un host virtual:

Categoría Requisito Descripción
Tipo de cuenta Pago Las cuentas gratuitas y de prueba no pueden crear ni modificar hosts virtuales.
Función del usuario administrador de la organización Solo un administrador de la organización puede crear un host virtual o un usuario con un rol personalizado permisos para modificar un host virtual.
Cantidad de hosts virtuales 20 como máximo

Tiene un límite de 20 hosts virtuales por organización y entorno en la nube.

Nota: No hay límite para la cantidad de hosts virtuales en la Google Cloud.

La mayoría de las organizaciones y entornos usan dos hosts virtuales: uno para HTTP y otro para HTTPS el acceso a los datos. Es posible que necesites hosts virtuales adicionales si tu organización o entorno lo permite acceso con nombres de dominio diferentes.

URL base Incluye el protocolo Al definir la URL base para el host virtual, ya sea en la IU o con la API, Debe especificar el protocolo (es decir, "http://" o "https://") como parte de la URL.
Puerto 443

Solo puedes crear un host virtual en el puerto 443.

Ten en cuenta que puedes crear varios hosts virtuales en el puerto 443, siempre y cuando tengan alias de host únicos y todos admiten TLS.

TLS Obligatorio

Solo puedes crear un host virtual que admita TLS a través de HTTPS. Debes tener creó un almacén de claves y, opcionalmente, un almacén de confianza con tu certificado y clave TLS.

Debe tener un certificado firmado por una entidad de confianza, como Symantec o VeriSign. No puedes usar un certificado autofirmado.

Si necesitas acceso HTTP, comunícate con el equipo de asistencia de Apigee Edge.

Protocolo TLS TLS 1.2

Edge en la nube solo es compatible con la versión 1.2 de TLS.

Alias de host Único en la organización y el entorno El alias del host no existe para otra combinación de organización y entorno.
Nombre de dominio Propiedad del cliente

El nombre de dominio especificado en el host virtual debe ser el propietario. Revisión del perímetro para asegurarse que el nombre de dominio, tal como lo define el alias del host, coincida con los metadatos en la TLS certificado.

Específicamente, Edge verifica la siguiente información en el certificado:

  • CN - Nombre común
  • SAN: Nombre alternativo del asunto

Se permiten comodines en el SAN o CN, por ejemplo, *.myco.net.

Edge también valida que el certificado no haya vencido.

Compatibilidad con SNI en apps cliente Todas las apps cliente que acceden al host virtual deben admitir SNI.

Todas las apps requieren compatibilidad con SNI.

Crea un host virtual con un navegador

La mayoría de los ejemplos en esta sección usan la API de Edge para crear o modificar hosts virtuales, pero puedes crear un host virtual en la IU de Edge.

Para crear un host virtual con la IU de Edge, sigue estos pasos:

  1. Accede a apigee.com/edge.
  2. Selecciona Administrador > Hosts virtuales.
  3. Selecciona el entorno, como prod o test.
  4. Selecciona + Host virtual para crear un host virtual o selecciona el nombre de un un host virtual existente para editarlo.
  5. Consulta la tabla anterior para obtener información detallada sobre cómo completar los campos de host virtual.

Define un host virtual para TLS unidireccional

Un objeto XML que define el host virtual. Por ejemplo, el siguiente objeto XML define un Host virtual para TLS unidireccional:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>
</VirtualHost>

En esta definición, tú:

  • Especifica el nombre como myTLSVHost. Usa el nombre como referencia el host virtual en un proxy de API o en una llamada a la API.
  • Especifica el alias de host como api.myCompany.com. Este es el dominio público que se usa para acceder a tus APIs, según lo define una definición de DNS y CNAME registro.
  • Especifica el número de puerto como 443. Si se omite, de forma predeterminada el puerto está configurado en 443.
  • Habilita TLS según sea necesario.

    El elemento <Enable> se configura como verdadero para habilitar TLS unidireccional, y los elementos y <KeyStore> especifican la el almacén de claves y el alias de clave que usa la conexión TLS.

    Para habilitar TLS bidireccional, establece <ClientAuthEnabled> como verdadero y especifica un almacén de confianza con el elemento <TrustStore>. El almacén de confianza contiene el emisor del certificado del cliente y la cadena de la AC del certificado, lo cual es obligatorio.

    Nota: Debido a que Edge originalmente admitía SSL, la etiqueta que usas para configurar La TLS se llama <SSLInfo>.

Ten en cuenta que existen propiedades adicionales que puedes configurar en el host virtual. Para un referencia para todas las propiedades, consulta Referencia de propiedad de host virtual.

Decide cómo especificar el nombre de almacén de claves y almacén de confianza en el host virtual

Al configurar un host virtual para que admita TLS, debes especificar un almacén de claves con un referencia. Una referencia es una variable que contiene el nombre del almacén de claves o Truststore, en lugar de especificar el almacén de claves o el nombre del almacén de confianza directamente, como se muestra a continuación:

    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>false</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
    </SSLInfo>

La ventaja de usar una referencia es que puedes cambiar su valor para que cambie el almacén de claves que usa el host virtual, por lo general, porque el certificado del almacén de claves actual se que vencerá próximamente. Cambiar el valor de la referencia no requiere que reinicies el router perimetral. Consulta Trabaja con referencias para obtener más sobre la creación y modificación de referencias.

Solo puedes usar una referencia al almacén de claves y al almacén de confianza; no puedes usar una referencia al alias. Cuando cambies la referencia a un almacén de claves, asegúrate de que el nombre de alias del certificado sea el mismo que en el almacén de claves anterior.

Restricciones en el uso de referencias a almacenes de claves y almacenes de confianza

Debes tener en cuenta la siguiente restricción cuando uses referencias a almacenes de claves y almacenes de confianza:

  • Solo puedes usar referencias de almacén de claves y almacén de confianza en hosts virtuales si admites SNI y finaliza SSL en los routers de Apigee.
  • Si tiene un balanceador de cargas frente a los routers de Apigee y finaliza TLS en balanceador de cargas, no podrás usar referencias de almacén de claves y almacén de confianza en hosts virtuales.

Definición de un host virtual para TLS bidireccional

Para habilitar TLS bidireccional, establece el elemento <ClientAuthEnabled> en true y especifica un almacén de confianza Mediante una referencia con el elemento <TrustStore>. El almacén de confianza contiene el emisor del certificado del cliente y la cadena de la AC del certificado, lo cual es obligatorio. El cliente también debe ser correctamente para TLS bidireccional.

Para crear un host virtual para TLS bidireccional, crea un objeto XML que defina la host:

<VirtualHost name="myTLSVHost"> 
    <HostAliases> 
        <HostAlias>api.myCompany.com</HostAlias> 
    </HostAliases> 
    <Port>443</Port> 
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myTestKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTestTruststoreRef</TrustStore> 
    </SSLInfo>
</VirtualHost>

En esta definición, tú:

  • Para habilitar TLS bidireccional, establece <ClientAuthEnabled> como verdadero.
  • Especifica la referencia al almacén de confianza mediante el elemento <TrustStore>. El almacén de confianza contiene el emisor del certificado del cliente y la cadena de la AC del certificado, lo cual es obligatorio.

Define un host virtual que use el certificado y la clave de prueba gratuita de Apigee

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 usa el certificado y la clave de prueba gratuita 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 *.apigee.net. Por lo tanto, el El <HostAlias> del host virtual también debe tener el formato *.apigee.net.

Si ejecutas TLS bidireccional, aún debes establecer el elemento <ClientAuthEnabled> en true y especifica un almacén de confianza mediante una referencia con el elemento <TrustStore> como se describió anteriormente en Cómo definir un host virtual para TLS bidireccional.

Un objeto XML que define el host virtual con el certificado y la clave de prueba gratuita de Apigee omite la los elementos <KeyStore> y <KeyAlias>, y los reemplaza por <UseBuiltInFreeTrialCert>, como se muestra a continuación:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

El valor predeterminado del elemento <UseBuiltInFreeTrialCert> es falso.

Para TLS bidireccional, define el host virtual de la siguiente manera:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

En la IU de Edge, selecciona la opción Usar certificado de prueba gratuita integrada. Cuando crees el host virtual, para usar el certificado y la clave gratuitos de Apigee, haz lo siguiente:

Selecciona Usar certificado de prueba gratuita integrada

Crea un host virtual

Usa el siguiente procedimiento para crear el host virtual:

  1. Crea una entrada de DNS y un registro CNAME para tu dominio público, api.myCompany.com en este ejemplo, que apunta a [org]-[environment].apigee.net.
  2. Crea y configura un almacén de claves, llamado myTestKeystore en este ejemplo, de la siguiente manera: con el procedimiento descrito aquí: Creación de almacenes de claves y almacenes de confianza con la IU de Edge En este ejemplo, asegúrate de que el almacén de claves use un nombre de alias myKeyAlias para el certificado y privada.
  3. Sube el certificado y la clave al almacén de claves. Asegúrate de que el nombre de dominio que especifique tu coincide con el alias del host que quieres usar para el host virtual.
  4. Crea una referencia al almacén de claves mediante la API o IU de Edge. La referencia especifica el nombre del almacén de claves y el tipo de referencia como KeyStore. Consulta Trabaja con referencias para obtener más sobre la creación y modificación de referencias.

  5. Crea el host virtual con el comando Crear un API de Virtual Host. Asegúrate de especificar la referencia del almacén de claves y el alias de clave correctos. Para usar la API, realiza la siguiente llamada a la API de POST para crear el almacén de claves. llamada myTLSVHost:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Si realizas una TLS bidireccional con el cliente, configura <ClientAuthEnabled> como verdadero y especifica el almacén de confianza con el elemento <TrustStore>. El cliente debe configurarse correctamente para TLS bidireccional, lo que significa que Edge tiene un almacén de confianza que contiene el entre la entidad emisora del certificado y la cadena de certificados del cliente. Crea el almacén de confianza con el procedimiento descrito aquí: Cómo crear almacenes de claves y almacenes de confianza con la IU de Edge

  6. Si tienes proxies de API existentes, agrega el host virtual al elemento <HTTPConnection> en la ProxyEndpoint. El host virtual se agrega automáticamente a todos los proxies de API nuevos. Consulta Configura un proxy de API para usar un host virtual.

Después de actualizar un proxy de API para usar el host virtual y crear la entrada de DNS y CNAME para el alias del host, puedes acceder al proxy de API como se muestra a continuación:

https://api.myCompany.com/v1/{project-base-path}/{resource-path}

Por ejemplo:

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Modifica un host virtual

Existen dos tareas principales que realizan los clientes pagados de Cloud para modificar un host virtual existente:

  1. Modificación del valor de una referencia a un almacén de claves o almacén de confianza.

    Nota: Una vez que establezcas un <KeyStore> o <TrustStore> para usar una referencia, puedes cambiar su valor en cualquier momento. Sin embargo, si alguna vez quieres cambiar <KeyStore> o <TrustStore> para usar una referencia diferente o cambiar <KeyAlias> para usar un alias diferente, debes comunicarte con el equipo de asistencia de Apigee Edge.
  2. Modificación de las propiedades de TLS del host virtual

Modificar el valor de un referencia

Puedes modificar el valor de una referencia para cambiar el almacén de claves o el almacén de confianza que usa una instancia host.

Antes de modificar el valor de la referencia, haz lo siguiente:

  1. Crea un nuevo almacén de claves y sube un certificado y una clave como se describe en Cómo crear almacenes de claves y almacenes de confianza con la IU de Edge En el nuevo almacén de claves, asegúrate de usar para el alias de clave el mismo nombre que se usó en la clave existente en la nube.
  2. Si es necesario, crea un nuevo almacén de confianza y sube un certificado como se describe en Cómo crear almacenes de claves y almacenes de confianza con la IU de Edge
  3. Modifica la referencia como se describe en Cómo trabajar con referencias.

Modificar las propiedades de TLS del host virtual

Los clientes que pagan pueden utilizar el Actualiza una API de Virtual Host para actualizar un host virtual. Esta API te permite configurar todos los propiedades para el host virtual que se describen en Referencia de propiedades de host virtual.

Cuando modificas el host virtual, Edge realiza una validación similar a cuando creas un un host virtual. Es decir, en una modificación, Edge valida lo siguiente:

  • El dominio especificado por el alias del host no se usa en otra organización. en un entorno de nube.
  • Eres el propietario del nombre de dominio. Específicamente, Edge verifica que la siguiente información en el coincide con el alias del host:
    • CN - Nombre común
    • SAN: Nombre alternativo del asunto
    • Edge valida que el certificado no haya vencido.

Para modificar un host virtual con la API de Edge, sigue estos pasos:

  1. Actualiza el host virtual a través de la Actualiza una API de Virtual Host. Cuando uses la API, debes especificar la definición completa de el host virtual en el cuerpo de la solicitud, no solo los elementos que quieras cambiar. En este Por ejemplo, configura el valor de la propiedad proxy_read_timeout:

    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost name="myTLSVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Port>443</Port>
        <SSLInfo>
          <Enabled>true</Enabled>
          <ClientAuthEnabled>false</ClientAuthEnabled>
          <KeyStore>ref://myTestKeystoreRef</KeyStore>
          <KeyAlias>myKeyAlias</KeyAlias>
        </SSLInfo>
        <Properties>
           <Property name="proxy_read_timeout">50</Property>
             </Properties>
      </VirtualHost>' \
      -u orgAdminEmail:password

Modifica un host virtual para usar referencias al almacén de claves y al almacén de confianza

Todos los hosts virtuales nuevos para Edge en la nube usan referencias al almacén de claves y al almacén de confianza. Las referencias te permiten cambiar el almacén de claves y el almacén de confianza sin comunicarte con el equipo de asistencia de Apigee Edge.

Es posible que los hosts virtuales más antiguos en Apigee Edge no estén configurados para usar referencias para almacenes de claves y y almacenes de confianza. En este caso, puedes actualizar el host virtual para usar una referencia.

Actualiza un host virtual para usar un referencia

Usa el siguiente procedimiento para actualizar el host virtual:

  1. Si es necesario, crea un almacén de claves nuevo y sube un certificado como se describe en Cómo crear almacenes de claves y almacenes de confianza con la IU de Edge Si ya tienes un de Android, puedes configurar una referencia para que apunte a él.
  2. Crea una nueva referencia al almacén de claves.
  3. Si es necesario, crea un almacén de confianza nuevo y sube un certificado. Si ya tienes un almacén de confianza, puedes configurar una referencia para que apunte a ella.
  4. Crea una referencia nueva al almacén de confianza.
  5. Actualiza el host virtual para configurar el almacén de claves, el alias, el almacén de confianza y cualquier otra TLS. propiedades. La carga útil de la llamada es la siguiente:
    curl -X PUT -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
      -d '<VirtualHost  name="myTLSVHost">
            <HostAliases>
              <HostAlias>api.myCompany.com</HostAlias>
            </HostAliases>
            <Port>443</Port>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Comunícate con Apigee Asistencia para reiniciar los routers perimetrales y completar el proceso.