Un hôte virtuel sur Edge définit les domaines et les ports de routeur Edge sur lesquels un proxy d'API est exposées et, par extension, l'URL que les applications utilisent pour accéder à un proxy d'API. Un hôte virtuel permet également Définit si l'accès au proxy d'API est effectué à l'aide du protocole HTTP ou par le protocole HTTPS standard.
Dans le cadre du processus d'intégration Edge, vous devez créer une organisation, un environnement et
hôte virtuel. Edge fournit la commande setup-org
pour rendre
ce processus plus facile
pour les nouveaux utilisateurs.
Lorsque vous créez l'hôte virtuel, vous devez spécifier les informations suivantes:
- Nom de l'hôte virtuel que vous utilisez pour le référencer dans votre API proxys.
- Port sur le routeur pour l'hôte virtuel. Généralement, ces ports à partir de 9001 et incrémenter d’une unité pour chaque nouvel hôte virtuel.
- L'alias d'hôte de l'hôte virtuel. Il s'agit généralement du nom DNS hôte virtuel.
Par exemple, dans un fichier de configuration transmis à la commande setup-org
, vous pouvez spécifier
ces informations comme suit:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Le routeur Edge compare l'en-tête Host
du
requête entrante à la liste des alias hôtes disponibles afin de déterminer le proxy d'API qui
traite la requête. Lorsque vous effectuez une requête via un hôte virtuel, spécifiez un nom de domaine
qui correspond à l'alias d'hôte d'un hôte virtuel, ou spécifier l'adresse IP du routeur et
L'en-tête Host
contenant l'alias d'hôte
Par exemple, si vous avez créé un hôte virtuel avec un alias d'hôte myapis.apigee.net sur le port 9001, une requête cURL adressée à une API via cet hôte virtuel pourrait utiliser l'un des formulaires:
- Si vous disposez d'une entrée DNS pour myapis.apigee.net:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- Si vous n'avez pas d'entrée DNS pour myapis.apigee.net:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
Dans ce formulaire, vous spécifiez l'adresse IP du routeur et transmettez l'alias d'hôte au En-tête
Host
.
Options disponibles si vous n'avez pas de DNS de l'hôte virtuel
En l'absence d'entrée DNS, vous pouvez définir l'alias d'hôte sur l'adresse IP du Routeur et port de l'hôte virtuel, en tant que routerIP:port. Par exemple:
VHOST_ALIAS=192.168.1.31:9001
Créez ensuite une commande curl au format ci-dessous:
curl http://routerIP:9001/proxy-base-path/resource-path
Cette option est à privilégier, car elle fonctionne bien avec l'interface utilisateur Edge.
Si vous avez plusieurs routeurs, ajoutez un alias d'hôte pour chacun d'eux, en spécifiant l'adresse IP de chaque routeur et chaque port de l'hôte virtuel:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
Vous pouvez également définir l'alias d'hôte sur une valeur, telle que temp.hostalias.com
.
Vous devez ensuite transmettre l'en-tête Host
à chaque requête:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
Vous pouvez également ajouter l'alias d'hôte à votre fichier /etc/hosts
. Par exemple, ajoutez cette ligne
vers /etc/hosts
:
192.168.1.31 temp.hostalias.com
Vous pouvez ensuite envoyer une requête comme si vous aviez une entrée DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path