Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Dans Edge, un routeur gère tout le trafic API entrant. Cela signifie que toutes les requêtes HTTP et HTTPS adressées à un proxy d'API sont d'abord traitées par un routeur Edge.
Un hôte virtuel vous permet d'héberger plusieurs noms de domaine sur un serveur. Pour Edge, le serveur correspond à un routeur Edge. En définissant plusieurs hôtes virtuels sur un routeur, celui-ci peut gérer les requêtes API adressées à plusieurs noms de domaine.
Un hôte virtuel sur Edge définit le protocole d'accès (HTTP ou HTTPS), un port de routeur ouvert et un alias d'hôte. L'alias d'hôte est généralement le nom de domaine DNS qui correspond à l'adresse IP du routeur.
Par exemple, l'image suivante montre un routeur avec deux définitions d'hôte virtuel :

Le premier hôte virtuel gère les requêtes HTTPS sur le domaine domainName1, et le second gère les requêtes HTTP sur domainName2.
Lorsqu'une requête est adressée à un proxy d'API, le routeur compare l'en-tête Host de la requête entrante à la
liste des alias d'hôte définis par tous les hôtes virtuels pour déterminer quel hôte
virtuel gère la requête.
À propos des définitions d'hôte virtuel
Les hôtes virtuels contiennent les informations suivantes :
- Le nom interne de l'hôte virtuel. Vous utilisez ce nom pour faire référence à l'hôte virtuel dans vos proxys d'API et lors de la configuration de l'hôte virtuel.
- L'alias d'hôte de l'hôte virtuel. En règle générale, l'alias d'hôte est le nom de domaine DNS
qui correspond à l'adresse IP du routeur. L'en-tête
Hostdes requêtes de proxy d'API doit contenir l'alias d'hôte de l'hôte virtuel. - Un port ouvert sur le routeur.
- Si TLS (accès HTTPS) est activé ou non (accès HTTP).
Par exemple, vous spécifiez les informations suivantes lorsque vous créez un hôte virtuel :
- name = myvhost
- host alias = apis.acme.com
- port = 443
- TLS est activé
En fonction du paramètre ci-dessus pour l'hôte virtuel, une requête adressée à un proxy d'API utilise le format suivant :
https://apis.acme.com/{proxy-base-path}/{resource-path}où :
- {proxy-base-path} est défini lorsque vous créez un proxy d'API et est unique pour chaque proxy d'API.
Exemple :
https://apis.acme.com/characters
- {resource-path} est le chemin d'accès à une ressource accessible via le proxy d'API. Exemple :
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
À propos des hôtes virtuels dans Edge pour le cloud
Chaque organisation Edge inclut automatiquement deux environnements (test
et prod), deux hôtes virtuels dans chaque environnement (default et secure),
et des enregistrements DNS pour chaque alias d'hôte.
L'alias d'hôte de chaque hôte virtuel fourni par Apigee contient le nom de l'organisation et l'environnement, comme indiqué dans le tableau suivant :
| Environment | Nom d'hôte virtuel | Alias d'hôte | Port | TLS activé |
|---|---|---|---|---|
| production | par défaut | {org-name}-prod.apigee.net |
80 | Non |
| sécurisé | {org-name}-prod.apigee.net |
443 | Oui | |
| test | par défaut | {org-name}-test.apigee.net |
80 | Non |
| sécurisé | {org-name}-test.apigee.net |
443 | Oui |
Par exemple, le nom de domaine par défaut d'une organisation appelée "myorg"
dans l'environnement prod est "myorg-prod.apigee.net".
Par conséquent, pour accéder à un proxy d'API dans cette organisation, vous utilisez une URL au format suivant :
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}Forfaits payants Apigee : Un nom de domaine contenant "apigee.net" n'est peut-être pas ce que vous souhaitez exposer à vos clients. Vous pouvez utiliser une entrée DNS et un enregistrement CNAME pour mapper un nom de domaine à votre organisation sur Edge. Vous devez également créer un hôte virtuel avec l'alias d'hôte défini sur ce nom de domaine. Cela permet aux développeurs d'accéder à votre API via un domaine spécifique à votre entreprise.
Voici un exemple de domaine personnalisé dans Edge :
https://apis.acme.com/{proxy-base-path}/{resource-path}À propos des hôtes virtuels sur Edge pour le cloud privé
Lorsque vous installez Apigee Edge pour le cloud privé, aucune organisation, aucun environnement ni aucun hôte virtuel par défaut ne sont créés pour vous. Une fois le processus d'installation d'Edge terminé, votre première action consiste généralement à créer une organisation, un environnement et un hôte virtuel via le processus d'intégration.
Pour effectuer l'intégration, exécutez la commande suivante sur le nœud du serveur de gestion Edge :
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
où configFile contient les informations nécessaires pour créer un utilisateur, une organisation, un environnement et un hôte virtuel.
Par exemple, vous créez :
- Un utilisateur de votre choix qui fera office d'administrateur de l'organisation
- Une organisation nommée
example - Un environnement dans l'organisation nommé
prod - Un hôte virtuel dans l'environnement nommé
defaultqui autorise l'accès HTTP sur le port 9001 - Un alias d'hôte du nom DNS utilisé pour accéder au routeur, ou l'adresse IP du routeur et
le port de l'hôte virtuel au format
IP:9001.
Vous pouvez ensuite ajouter un nombre illimité d'organisations, d'environnements et d'hôtes virtuels à votre version sur site d'Edge. Pour en savoir plus, consultez :
Les hôtes virtuels sont ouverts sur le routeur Edge. Par conséquent, vous devez vous assurer que le port que vous spécifiez pour l'hôte virtuel est ouvert sur le routeur. Vous pouvez utiliser une commande au format ci-dessous pour ouvrir un port :
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Après avoir exécuté cette commande, vous pouvez accéder à vos API à l'aide d'une URL au format suivant :
http://<router-ip>:9001/{proxy-base-path}/{resource-path}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://myAPI.myCo.com/{proxy-base-path}/{resource-path}Lorsque vous définissez l'entrée DNS, vous devez également créer un hôte virtuel avec un alias d'hôte qui correspond au nom de domaine de l'entrée DNS. Dans l'exemple ci-dessus, vous spécifiez un alias d'hôte de myAPI.myCo.com lorsque vous créez l'hôte virtuel.
À propos des alias d'hôte et des noms DNS
Une propriété que vous définissez pour un hôte virtuel est l'alias d'hôte. L'alias d'hôte est généralement le nom DNS de l'hôte virtuel. La façon dont vous définissez l'alias d'hôte dépend de votre type d' installation Edge : Cloud ou Cloud privé.
Alias d'hôte et noms DNS dans Edge pour le cloud
Dans Edge pour le cloud, lorsque vous créez une organisation Edge pour la première fois, Apigee crée automatiquement
deux environnements (test
et prod), deux hôtes virtuels dans
chaque environnement (default et secure) et des enregistrements DNS pour chaque
hôte virtuel.
L'alias d'hôte des hôtes virtuels contient le nom de l'organisation et de l'environnement. Par conséquent, une requête via un hôte virtuel se présente comme suit :
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
En règle générale, vous souhaitez créer des hôtes virtuels qui utilisent votre nom de domaine plutôt que le
domaine apigee.net par défaut. Pour ce faire, vous devez d'abord créer votre propre entrée DNS et votre propre enregistrement CNAME.
La figure suivante illustre une configuration typique du traitement d'une requête API par Edge :

Dans cet exemple :
- api.acme.com est le nom de domaine souhaité.
- Vous définissez une entrée DNS et un enregistrement CNAME pour que api.acme.com pointe vers acme-prod.apigee.net.
- La requête contient l'en-tête
Hostque le routeur utilise pour déterminer l'hôte virtuel qui gère la requête.
Dans cet exemple, vous spécifiez les informations suivantes dans une définition d'hôte virtuel :
- name = myvhost
- host alias = apis.acme.com
- port = 443
- Activer l'accès TLS
Consultez la section Configurer des hôtes virtuels pour le cloud pour en savoir plus.
Alias d'hôte et noms DNS dans Edge pour le cloud privé
Comme pour Edge pour le cloud, vous créez des hôtes virtuels qui utilisent votre propre nom de domaine pour l'alias d'hôte. Vous créez ensuite votre propre entrée DNS et votre propre enregistrement CNAME pour accéder à ces hôtes virtuels.
L'une des différences entre le cloud et le cloud privé est que dans le cloud, Apigee a créé automatiquement des noms DNS pour vos organisations, au format suivant :
- name=default:
http://{org-name}-{env-name}.apigee.net(port de routeur 80) - name=secure:
https://{org-name}-{env-name}.apigee.net(port de routeur 443)
Dans Edge pour le cloud privé, vous devez créer les entrées DNS pour l'adresse IP et le port de votre routeur.
Par exemple, vous spécifiez ces informations dans une définition d'hôte virtuel :
- name = myvhost
- host alias = apis.acme.com
- port = 9001
- Activer l'accès TLS
La figure suivante illustre une configuration typique du traitement d'une requête API par Edge :

Dans cet exemple :
- api.acme.com est le nom de domaine souhaité.
- Vous définissez une entrée DNS et un enregistrement CNAME pour que api.acme.com pointe vers l'adresse IP et le port du routeur.
- La requête contient l'en-tête
Hostque le routeur utilise pour déterminer l'hôte virtuel qui gère la requête.
Consultez la section Configurer des hôtes virtuels pour le cloud privé pour en savoir plus.
Alias d'hôte et caractères génériques
Vous pouvez inclure le caractère générique "*" dans l'alias d'hôte. Le caractère générique "*" ne peut se trouver qu'au début (avant le premier ".") de l'alias d'hôte et ne peut pas être combiné avec d'autres caractères.
Voici un exemple d'alias d'hôte valide utilisant un caractère générique :
*.example.com
Les exemples suivants ne sont pas valides :
www.*.example.com w*.example.com
L'utilisation d'un caractère générique dans un alias d'hôte virtuel permet aux
proxys d'API de gérer les appels adressés à plusieurs sous-domaines tels que
alpha.example.com, beta.example.com ou
live.example.com. L'utilisation d'un alias avec caractère générique vous permet également d'utiliser moins d'hôtes virtuels
par environnement pour respecter les limites du produit, car un hôte virtuel avec un caractère générique ne compte que pour un seul hôte virtuel.
Le certificat TLS de l'hôte virtuel doit comporter un caractère générique correspondant dans le nom commun du certificat.
Par exemple, *.example.com.
À propos des propriétés d'hôte virtuel
Dans Edge, un hôte virtuel est représenté par un objet XML. Par exemple, l'objet XML suivant définit un hôte virtuel :
<VirtualHost name="vhostName">
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
<Port>portNumber</Port>
<BaseURL>http://myCo.com<</BaseUrl>
<OCSPStapling>off</OCSPStapling>
<RetryOptions/>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<Properties>
<Property name="proxy_read_timeout">timeout</Property>
<Property name="keepalive_timeout">timeout</Property>
<Property name="proxy_request_buffering">onOff</Property>
<Property name="proxy_buffering">onOff</Property>
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>La liste des propriétés que vous pouvez définir dépend de si vous utilisez Edge pour le cloud ou Edge pour le cloud privé. Si vous utilisez Edge pour le cloud privé, la liste des propriétés disponibles dépend également de votre version d'Edge. Pour obtenir une description complète de toutes les propriétés d'un hôte virtuel, consultez la documentation de référence sur les propriétés d'hôte virtuel.
Pour en savoir plus sur la création d'hôtes virtuels pour votre version spécifique d'Edge, consultez :