Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
En Edge, un router controla todo el tráfico de API entrante. Eso significa que todas las solicitudes HTTP y HTTPS a un proxy de API se controlan primero mediante un router de Edge.
Un host virtual te permite alojar varios nombres de dominio en un servidor. En Edge, el servidor corresponde a un router de Edge. Si defines varios hosts virtuales en un router, este puede controlar las 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 alias de host. El alias de host suele ser el nombre de dominio 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 el dominio domainName1 y el segundo controla las solicitudes HTTP en domainName2.
En una solicitud a un proxy de API, el router compara el Host encabezado de la solicitud entrante con la
lista de alias de host definidos por todos los hosts virtuales para determinar qué host virtual
controla la solicitud.
Acerca de las definiciones de host virtual
Los hosts virtuales contienen la siguiente información:
- El nombre interno del host virtual. Usas ese nombre para hacer referencia al host virtual en tus proxies de API y cuando configuras el host virtual.
- El alias de host del host virtual. Por lo general, el alias de host es el nombre de dominio DNS
que se asigna a la dirección IP del router. El encabezado
Hostde las solicitudes de proxy de API debe contener el alias de host del host virtual. - Un puerto abierto en el router.
- Si TLS (acceso HTTPS) está habilitado o no (acceso HTTP).
Por ejemplo, especificas la siguiente información cuando creas un host virtual:
- name = myvhost
- host alias = apis.acme.com
- port = 443
- TLS está habilitado
Según la configuración anterior para el host virtual, una solicitud a un proxy de API usa el siguiente formato:
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 de acceso 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 Edge 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 de host.
El alias de host de cada host virtual proporcionado por Apigee contiene el nombre de la organización y el entorno, como se muestra en la siguiente tabla:
| Entorno | Nombre del host virtual | Alias de host | Puerto | TLS habilitado |
|---|---|---|---|---|
| prod | predeterminado | {org-name}-prod.apigee.net |
80 | No |
| seguro | {org-name}-prod.apigee.net |
443 | Sí | |
| prueba | predeterminado | {org-name}-test.apigee.net |
80 | No |
| seguro | {org-name}-test.apigee.net |
443 | Sí |
Por ejemplo, el nombre de dominio predeterminado de una organización llamada "myorg"
en el entorno prod es "myorg-prod.apigee.net".
Por lo tanto, para acceder a un proxy de API en esa organización, usas 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 posible que un nombre de dominio que contenga "apigee.net" no sea lo que deseas 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 de host establecido en ese nombre de dominio. Esto permite que los desarrolladores accedan a tu API a través de un dominio específico de tu empresa.
Este es un ejemplo de un dominio personalizado en Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}Acerca de los hosts virtuales en Edge para la nube privada
Cuando instalas Apigee Edge para la nube privada, no se crean organizaciones, entornos ni hosts virtuales predeterminados. Después de completar el proceso de instalación de Edge, tu primera acción suele ser crear una organización, un entorno y un host virtual a través de el proceso de incorporación.
Para realizar la incorporación, ejecuta el siguiente comando en el nodo del servidor de administración de Edge:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
donde configFile contiene la información necesaria para crear un usuario, una organización, un entorno y un host virtual.
Por ejemplo, creas lo siguiente:
- Un usuario de tu elección para que funcione como administrador de la organización
- Una organización llamada
example - Un entorno en la organización llamada
prod - Un host virtual en el entorno llamado
defaultque permite el acceso HTTP en el puerto 9001 - Un alias de host del nombre DNS que se usa para acceder al router o la dirección IP del router y
el puerto del host virtual con el formato
IP:9001.
Más adelante, puedes agregar cualquier cantidad de organizaciones, entornos y hosts virtuales a tu versión local de Edge. Para obtener más información, consulta lo siguiente:
Los hosts virtuales se abren en el router de Edge. Por lo tanto, debes asegurarte de que el puerto que especificas para el host virtual esté abierto en el router. Puedes usar un comando con el siguiente formato 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 con una URL con el siguiente formato:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}Por lo general, no publicas tus APIs para los clientes con una dirección IP y número de puerto. En su lugar, defines una entrada DNS para el router y el puerto. Por ejemplo:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}Cuando defines la entrada DNS, también debes crear un host virtual con un alias de host que coincida con el nombre de dominio de la entrada DNS. En el ejemplo anterior, especificarías un alias de host de myAPI.myCo.com cuando crees el host virtual.
Acerca de los alias de host y los nombres DNS
Una propiedad que estableces para un host virtual es el alias de host. Por lo general, el alias de host es el nombre DNS del host virtual. La forma en que estableces el alias de host depende de tu tipo de instalación de Edge: nube o nube privada.
Alias de host y nombres DNS en Edge para la nube
En Edge para la nube, cuando creas una organización de Edge por primera vez, Apigee crea automáticamente
dos entornos (test
y prod), dos hosts virtuales en
cada entorno (predeterminado y seguro) y registros DNS para cada
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, deseas crear hosts virtuales que usen tu nombre de dominio, en lugar de usar el
dominio apigee.net predeterminado. Para ello, primero debes crear tu propia entrada DNS y registro CNAME.
En la siguiente figura, se muestra una configuración típica de cómo Edge procesa una solicitud a la API:

En este ejemplo:
- api.acme.com es el nombre de dominio que deseas.
- Defines una entrada DNS y un registro CNAME para que api.acme.com apunte a acme-prod.apigee.net.
- La solicitud contiene el encabezado
Hostque usa el router para determinar el host virtual que controla la solicitud.
En este ejemplo, especificas la siguiente información en una definición de host virtual:
- name = myvhost
- host alias = apis.acme.com
- port = 443
- Habilita el acceso a TLS
Consulta Configura hosts virtuales para la nube para obtener más información.
Alias de host y nombres DNS en Edge para la nube privada
Al igual que con Edge para la nube, creas hosts virtuales que usan tu propio nombre de dominio para el alias de host. Luego, creas 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, en la nube, Apigee creó automáticamente nombres DNS para tus organizaciones, con el siguiente formato:
- name=default:
http://{org-name}-{env-name}.apigee.net(puerto 80 del router) - name=secure:
https://{org-name}-{env-name}.apigee.net(puerto 443 del router)
En Edge para la nube privada, debes crear las entradas DNS para la dirección IP y el puerto de tu router.
Por ejemplo, especificas esta información en una definición de host virtual:
- name = myvhost
- host alias = apis.acme.com
- port = 9001
- Habilita el acceso a TLS
En la siguiente figura, se muestra una configuración típica de cómo Edge procesa una solicitud a la API:

En este ejemplo:
- api.acme.com es el nombre de dominio que deseas.
- Defines una entrada DNS y un registro CNAME para que api.acme.com apunte a la dirección IP y el puerto del router.
- La solicitud contiene el encabezado
Hostque usa el router para determinar el host virtual que controla la solicitud.
Consulta Configura hosts virtuales para la nube privada para obtener más información.
Alias de host y comodines
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.
El siguiente es un ejemplo de un alias de host válido que usa 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 que los proxies de API controlen las 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.
El certificado TLS para el host virtual debe tener un comodín coincidente en el nombre CN del certificado.
Por ejemplo, *.example.com.
Acerca de las propiedades del host virtual
En Edge, un host virtual se representa con un objeto XML. Por ejemplo, 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 del host virtual.
Para obtener más información sobre la creación de hosts virtuales para tu versión específica de Edge, consulta lo siguiente: