Configurer un hôte virtuel

Un hôte virtuel sur Edge définit les domaines et les ports de routeur Edge sur lesquels un proxy d'API est exposé, et, par extension, l'URL que les applications utilisent pour accéder à un proxy d'API. Un hôte virtuel définit également si le proxy d'API est accessible à l'aide du protocole HTTP ou du protocole HTTPS chiffré.

Dans le cadre du processus d'intégration d'Edge, vous devez créer une organisation, un environnement et un hôte virtuel. Edge fournit la commande setup-org pour faciliter ce processus pour les nouveaux utilisateurs.

Lorsque vous créez l'hôte virtuel, vous devez spécifier les informations suivantes :

  • Le nom de l'hôte virtuel que vous utilisez pour le référencer dans vos proxys d'API
  • Le port du routeur pour l'hôte virtuel. En règle générale, ces ports commencent à 9001 et sont incrémentés de un 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 de l' 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 de la requête entrante à la liste des alias d'hôte disponibles pour déterminer le proxy d'API qui gère 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écifiez 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 peut utiliser l'une des formes suivantes :

  • 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 ne disposez pas d'une 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 dans le Host en-tête.

Options lorsque vous ne disposez pas d'entrée DNS pour l'hôte virtuel

Si vous ne disposez pas d'entrée DNS, vous pouvez définir l'alias d'hôte sur l'adresse IP du routeur et le port de l'hôte virtuel, comme routerIP:port. Par exemple :

VHOST_ALIAS=192.168.1.31:9001

Vous pouvez ensuite exécuter une commande curl sous la forme suivante :

curl http://routerIP:9001/proxy-base-path/resource-path

Cette option est préférable, car elle fonctionne bien avec la nouvelle interface utilisateur Edge.

Si vous disposez de plusieurs routeurs, ajoutez un alias d'hôte pour chaque routeur, en spécifiant l'adresse IP de chaque routeur et le 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 à /etc/hosts :

192.168.1.31   temp.hostalias.com

Vous pouvez ensuite effectuer une requête comme si vous disposiez d'une entrée DNS :

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path