Configurer des hôtes virtuels pour le cloud privé

<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 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:

  1. Connectez-vous à l'interface utilisateur de gestion Edge.
  2. Sélectionnez Admin > Hôtes virtuels
  3. Sélectionnez l'environnement dans la liste déroulante.

    Edge affiche la liste des hôtes virtuels pour cet environnement.

  4. 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.

  5. 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
  6. 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 ou https: 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:

  1. 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
    
  2. Créez l'enregistrement DNS de l'hôte virtuel correspondant à l'alias d'hôte.
  3. 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:

  1. 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
  2. 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>
    1. Arrêtez le routeur:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Supprimez tous les fichiers dans /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Démarrez le routeur:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Répétez l'opération pour tous les routeurs.