<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Dans une installation sur site, vous avez un contrôle total sur les hôtes virtuels. Vous pouvez créer des hôtes virtuels pour toutes les organisations et tous les environnements, utilisant ou non TLS.
Ce document explique comment créer un hôte virtuel simple. C'est-à-dire, celle qui n'a pas est compatible avec le protocole TLS. Pour voir d’autres exemples, y compris des exemples de création d’hôtes virtuels prenant en charge TLS, voir Configuration de TLS l'accès à 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 TLS l'accès à une API pour le Private Cloud
À propos des alias d'hôte
<ph type="x-smartling-placeholder">Lorsque vous créez l'hôte virtuel, vous devez spécifier son alias. Il s'agit généralement du nom DNS de l'hôte virtuel.
Le routeur périphérique compare l'en-tête Host
de la requête entrante au
liste des alias hôtes disponibles lors de la détermination du 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 correspondant à l'hôte
alias 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 l'alias d'hôte myapis.apigee.net sur le port 9001, puis une requête cURL adressée à une API via cet hôte virtuel peuvent 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 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
.curl http://routerIP:9001/proxy-base-path/resource-path
Options disponibles n'ont pas d'entrée DNS pour 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:
192.168.1.31:9001
Lorsque vous exécutez 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.
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 au /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
À propos des ports des hôtes virtuels sur Edge pour Private Cloud 4.16.01 et versions ultérieures
Lors de la création d'un hôte virtuel, vous spécifiez le port de routeur utilisé par l'hôte virtuel. Pour par exemple, le port 9001.
Dans 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 devez créer un hôte virtuel qui lie le routeur à un port protégé, vous devez alors configurer le routeur pour qu'il s'exécute en tant qu'utilisateur ayant accès à ces ports. Pour en savoir plus, consultez la section Configurer un hôte virtuel.
Créer des hôtes virtuels
Cette section explique comment créer des hôtes virtuels pour Apigee Edge for Private Cloud. Notez que pour créer hôte virtuel, vous devez être administrateur de l'organisation.
Vous pouvez créer des hôtes virtuels pour Apigee Edge for Private Cloud à l'aide de l'API ou de l'interface utilisateur Edge. Il s'agit 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 nouvel hôte virtuel dans l'interface utilisateur Edge:
- 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 Create Virtual Host (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 paramètre
protocole (par exemple, ajouter le préfixe "http://" ou "https://" à la valeur du champ)
Veuillez également noter les points suivants:
- 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 le hôte virtuel. Par exemple, l'objet XML suivant définit un hôte virtuel qui utilise le protocole protocole:
<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
. La valeur du paramètre
name
pour configurer un proxy d'API afin d'utiliser 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-path
Où :
http
ouhttps
: si l'hôte virtuel est configuré pour sont compatibles avec TLS, utilisez HTTPS. Si l'hôte virtuel n'est pas compatible avec TLS, utilisez HTTP.- routerIP:port est l'adresse IP et le 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 pour les clients avec une adresse IP et un numéro de port. À la place, 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
le client transmet l'en-tête Host
.
Dans l'exemple ci-dessus, vous spécifieriez l'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 utilisant le protocole HTTP, procédez comme suit:
- Créez l'hôte virtuel à l'aide de la méthode
Créez un
API Virtual Host, où ms-IP est
l'adresse IP ou le 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 de l'hôte virtuel correspondant à l'alias d'hôte.
- Si vous disposez de proxys d'API existants, ajoutez l'hôte virtuel à l'élément
<HTTPConnection>
sur le point de terminaison du proxy. L'hôte virtuel est ajouté automatiquement à tous les nouveaux proxys d'API. Voir <ph type="x-smartling-placeholder"></ph> Configurez un proxy d'API pour utiliser 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 la méthode <ph type="x-smartling-placeholder"></ph> Mettre à jour une API Virtual Host, où
<ms-IP>
est l'adresse IP ou le nom de domaine du nœud du serveur de gestion. Vous devez spécifier la définition complète du hôte virtuel dans le corps de la requête, et pas seulement les éléments à modifier. Dans ce Par exemple, vous faites passer le numéro de port de l'hôte virtuel de 9008 à 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
-
Pour Edge for Private Cloud versions 4.16.01 et 4.16.05 uniquement, si vous modifiez
un hôte virtuel existant, et vous activez ou désactivez TLS sans modifier le port
numéro, puis:
<ph type="x-smartling-placeholder">
- </ph>
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.