Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Dans une installation sur site, vous contrôlez totalement les hôtes virtuels. Vous pouvez créer des hôtes virtuels pour n'importe quelle organisation, dans n'importe quel environnement, avec ou sans TLS.
Ce document explique comment créer un hôte virtuel simple. Autrement dit, un hôte qui n'est pas compatible avec TLS. Pour obtenir d'autres exemples, y compris sur la création d'hôtes virtuels compatibles avec TLS, consultez Configurer l'accès TLS à une API pour le cloud privé.
En savoir plus :
- À propos des hôtes virtuels
- Configurer des hôtes virtuels
- Configurer TLS
- Keystores et truststores
- Configuration de l'accès TLS à une API pour le cloud privé
À propos des alias d'hôte
Lorsque vous créez l'hôte virtuel, vous devez spécifier son alias d'hôte. Il s'agit généralement du nom DNS de l'hôte virtuel.
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
Hosten-tête.curl http://routerIP:9001/proxy-base-path/resource-path
Options lorsque vous ne disposez pas d'une entrée DNS pour l'hôte virtuel
Si vous ne disposez pas d'une 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. Exemple :
192.168.1.31:9001
Lorsque vous exécutez une commande curl sous la forme ci-dessous :
curl http://routerIP:9001/proxy-base-path/resource-path
Cette option est préférable, car elle fonctionne bien avec l'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.
Vous pouvez également définir l'alias d'hôte sur une valeur telle que
temp.hostalias.com. Ensuite, vous devez 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
À propos des ports d'hôte virtuel sur Edge pour Private Cloud 4.16.01 et versions ultérieures
Lorsque vous créez un hôte virtuel, vous spécifiez le port du routeur utilisé par l'hôte virtuel. Par exemple, le port 9001.
Pour les versions 4.16.01 et ultérieures d'Apigee pour Private Cloud, le routeur s'exécute par défaut en tant que utilisateur "apigee", qui n'a pas accès aux ports privilégiés, généralement les ports 1024 et inférieurs. Si vous souhaitez créer un hôte virtuel qui lie le routeur à un port protégé, vous devez configurer le routeur pour qu'il s'exécute en tant qu'utilisateur ayant accès à ces ports. Pour en savoir plus, consultez Configurer un hôte virtuel.
Créer des hôtes virtuels
Cette section explique comment créer des hôtes virtuels pour Apigee Edge pour Private Cloud. Notez que pour créer un nouvel hôte virtuel, vous devez être administrateur de l'organisation.
Vous pouvez créer des hôtes virtuels pour Apigee Edge pour Private Cloud à l'aide de l'API ou de l'interface utilisateur Edge. Ces méthodes sont décrites dans les sections suivantes.
Créer un hôte virtuel à l'aide d'un navigateur
Cette section explique comment créer un hôte virtuel à l'aide d'un navigateur (interface utilisateur Edge uniquement).
Pour créer un hôte virtuel dans l'interface utilisateur Edge, procédez comme suit :
- Connectez-vous à l'interface utilisateur de gestion Edge.
- Sélectionnez Admin > Hôtes virtuels.
Sélectionnez l'environnement dans la liste déroulante.
Edge affiche la liste des hôtes virtuels pour cet environnement.
- Pour créer un hôte virtuel, sélectionnez + Hôte virtuel.
Edge affiche le formulaire Créer un hôte virtuel.
Vous pouvez également cliquer sur le nom d'un hôte virtuel existant pour le modifier.
- Définissez votre nouvel hôte virtuel. Notez que le champ URL de base doit inclure le
protocole (c'est-à-dire, préfixez la valeur du champ avec "http://" ou "https://").
De plus, notez que :
- Vous pouvez créer autant d'hôtes virtuels que vous le souhaitez.
- TLS est facultatif et peut être la version 1.0, 1.1 ou 1.2.
- Le port de l'hôte virtuel est configurable.
- Cliquez sur le bouton Créer pour enregistrer votre nouvel hôte virtuel.
Créer un hôte virtuel avec l'API
Pour créer un hôte virtuel avec l'API, créez un objet XML qui définit l' hôte virtuel. Par exemple, l'objet XML suivant définit un hôte virtuel qui utilise le protocole HTTP :
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>DNS_name_or_IP:port</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>Notez que l'hôte virtuel contient une propriété name. Vous utilisez la valeur de la
name propriété pour configurer un proxy d'API afin qu'il utilise l'hôte virtuel.
Vous pouvez ensuite accéder à un proxy d'API via cet hôte virtuel en envoyant une requête à :
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-pathOù :
httpouhttps: si l'hôte virtuel est configuré pour prendre en charge TLS, utilisez HTTPS. Si l'hôte virtuel n'est pas compatible avec TLS, utilisez HTTP.- routerIP:port correspond à l'adresse IP et au numéro de port de l'hôte virtuel.
- proxy-base-path et resource-path sont définis lorsque vous créez le proxy d'API.
En règle générale, vous ne publiez pas vos API auprès des clients avec une adresse IP et un numéro de port. Au lieu de cela, vous définissez une entrée DNS pour le routeur et le port. Exemple :
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Si vous définissez l'entrée DNS, vous devez créer un alias d'hôte pour l'hôte virtuel
qui correspond au nom de domaine de l'entrée DNS. L'alias d'hôte doit correspondre à la chaîne que le
client transmet dans l'en-tête Host.
Dans l'exemple ci-dessus, vous spécifiez un alias d'hôte api.myCompany.com.
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>Pour créer un hôte virtuel qui utilise le protocole HTTP, procédez comme suit :
- Créez l'hôte virtuel à l'aide de l'
API Créer un
hôte virtuel, où ms-IP correspond à
l'adresse IP ou au nom de domaine du nœud du serveur de gestion :
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- Créez l'enregistrement DNS pour l'hôte virtuel qui correspond à l'alias d'hôte.
- Si vous disposez de proxys d'API existants, ajoutez l'hôte virtuel à l'élément
<HTTPConnection>dans le point de terminaison du proxy. L'hôte virtuel est automatiquement ajouté à tous les nouveaux proxys d'API. Consultez Configurer un proxy d'API pour qu'il utilise un hôte virtuel.
Modifier un hôte virtuel
Pour modifier un hôte virtuel, procédez comme suit :
-
Mettez à jour l'hôte virtuel à l'aide de l'API Mettre à jour un hôte virtuel, où
<ms-IP>correspond à l'adresse IP ou au nom de domaine du nœud du serveur de gestion. Vous devez spécifier la définition complète de l' hôte virtuel dans le corps de la requête, et pas seulement les éléments que vous souhaitez modifier. Dans cet exemple, vous remplacez le numéro de port de l'hôte virtuel de 9008 par 9009 :curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password -
Uniquement pour les versions 4.16.01 et 4.16.05 d'Edge pour Private Cloud : si vous modifiez
un hôte virtuel existant et que vous activez ou désactivez TLS sans modifier le numéro de port,
procédez comme suit :
Arrêtez le routeur :
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
Supprimez tous les fichiers dans
/opt/nginx/conf.d:rm -f /opt/nginx/conf.d/*
Démarrez le routeur :
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- Répétez l'opération pour tous les routeurs.