Acerca de los hosts virtuales

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

En Edge, un router controla todo el tráfico entrante de la API. Eso significa que todas las solicitudes HTTP y HTTPS que primero maneja un router perimetral.

Un host virtual te permite alojar varios nombres de dominio en un servidor. En el caso de Edge, el servidor corresponde a un router perimetral. Con la definición de varios hosts virtuales en un router, el router puede manejar solicitudes a la API para varios nombres de dominio.

Un host virtual en Edge define el protocolo de acceso (HTTP o HTTPS), un puerto de router abierto y un host alias. Por lo general, el alias del host es el nombre de dominio del DNS que se asigna a la dirección IP del router.

Por ejemplo, en la siguiente imagen, se muestra un router con dos definiciones de host virtual:

El primer host virtual controla las solicitudes HTTPS en la el dominio domainName1 y el segundo manejan solicitudes HTTP en domainName2.

En una solicitud a un proxy de API, el router compara el encabezado Host de la solicitud entrante con el lista de alias de host definidos por todos los hosts virtuales para determinar qué host controla la solicitud.

Información acerca de las definiciones de hosts virtuales

Los hosts virtuales contienen la siguiente información:

  • Es el nombre interno del host virtual. Usarás ese nombre para hacer referencia a la clase en los proxies de tu API y en la configuración del host virtual.
  • Indica el alias del host del host virtual. Por lo general, el alias del host es el DNS nombre de dominio que se asigna a la dirección IP del router. El encabezado Host de un Las solicitudes de proxy de API deben contener el alias del host virtual.
  • Un puerto abierto en el router
  • Indica si TLS (acceso HTTPS) está habilitado o no (acceso HTTP).

Por ejemplo, especifica la siguiente información cuando creas un host virtual:

  • name = myvhost
  • alias de host = apis.acme.com
  • puerto = 443
  • TLS habilitada

Según la configuración anterior para el host virtual, una solicitud a un proxy de API usa el formulario:

https://apis.acme.com/{proxy-base-path}/{resource-path}

Donde:

  • {proxy-base-path} se define cuando creas un proxy de API y es único para cada proxy de API. Por ejemplo:
    https://apis.acme.com/characters
  • {resource-path} es la ruta a un recurso al que se puede acceder a través del proxy de API. Por ejemplo:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Acerca de los hosts virtuales en Perímetro para la nube

Cada organización de Edge incluye automáticamente dos entornos (test y prod), dos hosts virtuales en cada entorno (predeterminado y seguro), y registros DNS para cada alias del host.

El alias de cada host virtual que proporciona Apigee contiene el nombre de la organización y environment, como se muestra en la siguiente tabla:

Entorno Nombre de host virtual Alias del host Puerto TLS habilitada
prod predeterminado {org-name}-prod.apigee.net 80 No
seguro {org-name}-prod.apigee.net 443
prueba predeterminado {org-name}-test.apigee.net 80 No
seguro {org-name}-test.apigee.net 443

Por ejemplo, el nombre de dominio predeterminado de una organización denominada "myorg" en el entorno de prod es “myorg-prod.apigee.net”. Por lo tanto, para acceder a un proxy de API en esa organización, debes usar una URL con el siguiente formato:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

Planes pagados de Apigee: Es un nombre de dominio que contiene “apigee.net”. quizás no sea lo que quieres exponer a tus clientes. Puedes usar una entrada DNS y un registro CNAME para asignar un nombre de dominio a tu organización en Edge. También debes crear un host virtual con el alias del host configurado para ese nombre de dominio. Esto permite que los desarrolladores accedan a tu API a través de un dominio específico para tu empresa.

Este es un ejemplo de un dominio personalizado en Edge:

https://apis.acme.com/{proxy-base-path}/{resource-path}

Información acerca de los hosts virtuales en Edge para la nube privada

Cuando instala Apigee Edge para la nube privada, no hay organizaciones predeterminadas entornos de prueba o hosts virtuales creados para ti. Después de completar el proceso de instalación de Edge, Su primera acción suele ser crear una organización, un entorno y un host virtual a través de la fase de incorporación el proceso de administración de recursos.

Para realizar la integración, ejecuta el siguiente comando en el nodo del servidor de administración perimetral:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

donde configFile contiene la información necesaria para crear un usuario, organización, entorno y host virtual.

Por ejemplo, puedes crear lo siguiente:

  • Un usuario que elijas para funcionar como administrador de la organización
  • Una organización llamada example
  • Un entorno de la organización llamado prod
  • Un host virtual en el entorno llamado default que permite el acceso HTTP en el puerto 9,001
  • Un alias de host del nombre de DNS que se usa para acceder al router, o la dirección IP del router y puerto del host virtual con el formato IP:9001.

Luego, puedes agregar cualquier cantidad de organizaciones, entornos y hosts virtuales a tu una versión local de Edge. Para obtener más información, consulta:

Los hosts virtuales se abren en el router perimetral. Por lo tanto, debes asegurarte de que el puerto que especificas para el host virtual esté abierta en el router. Puedes usar un comando en el siguiente formulario para abrir un puerto:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

Después de ejecutar ese comando, puedes acceder a tus APIs a través de una URL en el siguiente formato:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

Por lo general, no publicas tus APIs para clientes con una dirección IP número de puerto. En su lugar, debes definir una entrada de DNS para el router y el puerto. Por ejemplo:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

Cuando defines la entrada de DNS, también debes crear un host virtual con un alias de host coincide con el nombre de dominio de la entrada DNS. En el ejemplo anterior, debes especificar un alias del host. de myAPI.myCo.com cuando crees el host virtual.

Información acerca de los alias de host y los nombres de DNS

Una propiedad que configuras para un host virtual es el alias del host. El alias del host es por lo general, el nombre de DNS del host virtual. La forma de establecer el alias del host depende del tipo de Instalación perimetral: nube o nube privada.

Alias de host y Nombres de DNS en Edge para la nube

En Edge para la nube, cuando creas una organización de Edge, Apigee crea dos entornos (test y prod), hay dos hosts virtuales en cada entorno (predeterminado y seguro) y registros DNS para cada un host virtual.

El alias de host de los hosts virtuales contiene el nombre de la organización y el entorno. Por lo tanto, una solicitud a través de un host virtual tiene el siguiente formato:

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

Por lo general, querrás crear hosts virtuales que usen tu nombre de dominio, en lugar de usar el dominio apigee.net predeterminado. Tareas pendientes por lo que primero debes crear tu propia entrada de DNS y registro CNAME.

En la siguiente figura, se muestra una configuración típica del modo en que Edge procesa una solicitud a la API:

En este ejemplo:

  • api.acme.com es el nombre de dominio que deseas.
  • Debes definir una entrada DNS y un registro CNAME para dirigir a api.acme.com a acme-prod.apigee.net.
  • La solicitud contiene el encabezado Host que usa el router para determinar el host virtual que maneja la solicitud.

En este ejemplo, se especifica la siguiente información en una definición de host virtual:

  • name = myvhost
  • alias de host = apis.acme.com
  • puerto = 443
  • Habilitar el acceso a TLS

Si deseas obtener más información, consulta Configura hosts virtuales para Cloud.

Alias de host y nombres de DNS en Edge para la nube privada

Al igual que con Edge for the Cloud, puedes crear hosts virtuales que usan tu propio nombre de dominio para el host alias. Luego, crea tu propia entrada DNS y registro CNAME para acceder a esos hosts virtuales.

Una de las diferencias entre la nube y la nube privada es que nombres de DNS creados automáticamente para tus organizaciones, en el formato:

  • name=default: http://{org-name}-{env-name}.apigee.net (puerto del router 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (puerto del router 443)

En el perímetro de la nube privada, debes crear las entradas de DNS para la dirección IP y el puerto de tu router.

Por ejemplo, puedes especificar esta información en una definición de host virtual:

  • name = myvhost
  • alias de host = apis.acme.com
  • puerto = 9001
  • Habilitar el acceso a TLS

En la siguiente figura, se muestra una configuración típica del modo en que Edge procesa una solicitud a la API:

En este ejemplo:

  • api.acme.com es el nombre de dominio que deseas.
  • Debes definir una entrada de DNS y un registro CNAME para que api.acme.com apunte a la IP. y el puerto del router.
  • La solicitud contiene el encabezado Host que usa el router para determinar el host virtual que maneja la solicitud.

Consulta Configura hosts virtuales para la nube privada a fin de obtener más información.

Alias de host y comodines

Puedes incluir el símbolo "*" en el alias del host. El símbolo "*" carácter comodín solo estar al comienzo (que precede al primer punto “.”) del alias del host y no se puede mezclar con otros caracteres.

El siguiente es un ejemplo de un alias de host válido con un comodín:

*.example.com

Los siguientes ejemplos no son válidos:

  www.*.example.com
  w*.example.com

El uso de un comodín en un alias de host virtual permite Los proxies de API administran las llamadas dirigidas a varios subdominios, como alpha.example.com, beta.example.com o live.example.com Usar un alias comodín también ayuda a usar menos reglas por entorno para permanecer dentro del producto , dado que un host virtual con un comodín cuenta como uno solo.

El certificado TLS para el host virtual debe tener un comodín coincidente en el nombre del CN del certificado. Por ejemplo, *.example.com.

Acerca de las propiedades de hosts virtuales

En Edge, un host virtual se representa con un objeto XML. Por ejemplo, el El siguiente objeto XML define un host virtual:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <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>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

La lista de propiedades que puedes establecer se basa en si usas Edge para la nube o Edge para la nube privada. Si usas Edge para la nube privada, la lista de propiedades disponibles también depende de tu versión de Edge. Para obtener una descripción completa de todas las propiedades de un host virtual, consulta Referencia de propiedades de host virtual.

Si quieres obtener más información sobre la creación de hosts virtuales para tu versión específica de Edge, consulta los siguientes vínculos: