Tous les produits
Search
Centre de documentation

API Gateway:Passerelles API Gateway multi-niveaux

Dernière mise à jour :Aug 09, 2026

Les API créées dans API Gateway peuvent être appelées par les clients ainsi que par API Gateway lui-même. API Gateway peut appeler des API au sein de la même région via le réseau interne, ou entre différentes régions via Internet. Il peut également appeler une API appartenant à un autre compte en utilisant une paire AccessKey d'une application autorisée pour associer un plug-in de signature backend de type APIGW_FRONTEND. Avant d'appeler une API, API Gateway utilise la paire AccessKey pour générer une signature qu'il transmet à l'API pour authentification. La fonctionnalité « Call by API Gateway » s'applique au scénario typique suivant : vous créez une API destinée à router les requêtes. Un plug-in de routage backend et un plug-in de signature backend sont associés à cette API. Le plug-in de routage backend achemine les requêtes vers d'autres API en fonction des paramètres de la requête.

Exemple de configuration

1. Configurer les API métier

Pour permettre à API Gateway d'appeler votre API via un cloud privé virtuel (VPC), suivez les étapes ci-dessous dans la console API Gateway : achetez une instance dédiée, migrez le groupe d'API contenant l'API vers cette instance dédiée, puis générez manuellement un nom de domaine interne pour les appels d'API via le VPC.

  1. Activer la fonctionnalité Call by API Gateway

    a. Connectez-vous à la console API Gateway.

    b. Dans le volet de navigation de gauche, choisissez Instances and Clusters > Dedicated Instances. Sur l'onglet Instances, repérez l'instance dédiée souhaitée et cliquez sur Enable à côté de Calls from API Gateway.

  2. Générer des noms de domaine internes pour les appels d'API

    Créez deux groupes d'API sur l'instance. Cliquez ensuite sur chaque groupe pour générer un nom de domaine interne.

    Par exemple, les deux noms de domaine internes suivants sont générés :

17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com
c6e984b2dd784c0fb843f7c2a8878b15-cn-huhehaote-intranet.alicloudapi.com
  1. Créer une API dans chacun des groupes

    Créez une API dans chaque groupe d'API. Définissez le paramètre Security Authentication sur Alibaba Cloud App pour les deux API. Les exemples ci-dessous présentent les attributs supposés des deux API :

    • API1 : Méthode : GET Chemin : /business1 URL du service backend :

      http://backend1.alicloudapi.com:8080/business1
    • API2 Méthode : GET Chemin : /business2 URL du service backend :

      http://backend2.alicloudapi.com:8080/business2
  1. Autoriser une application à appeler les API

    Autorisez la même application à appeler les deux API. Dans cet exemple, l'application dispose de la paire AccessKey suivante : KEY:TESTKEY SECRET:TESTSECRET

2. Configurer l'API de distribution

  1. Créer l'API de distribution

    Créez une API de distribution accessible anonymement. Configurez GET comme méthode HTTP, /distributeAPI comme chemin et 17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com comme nom de domaine du groupe d'API auquel elle appartient.

  1. Créer et associer un plug-in de routage backend

    Créez un plug-in de routage backend et associez-le à l'API.

---
parameters:
  target: "Query:target"
routes:
- name: backend1
  condition: "$target = 'resource1'"
  backend:
    type: "HTTP"
    address: "17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com"
    path: "/business1"
- name: backend2
  condition: "$target = 'resource2'"
  backend:
    type: "HTTP"
    address: "c6e984b2dd784c0fb843f7c2a8878b15-cn-huhehaote-intranet.alicloudapi.com"
    path: "/business2"

Le code du plug-in ci-dessus indique que celui-ci achemine la requête reçue en fonction de la valeur du paramètre target dans la section query de la requête. Si la valeur est resource1, le plug-in transfère la requête vers 17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com et modifie le chemin de la requête en /business1. Si la valeur est resource2, le plug-in procède de même.

  1. Créer et associer un plug-in de signature backend

    Créez un plug-in de signature backend et associez-le à l'API.

---
type: APIGW_FRONTEND
key: TESTKEY
secret: TESTSECRET 
signatureMethod: HmacSHA256

Le code du plug-in ci-dessus indique que ce dernier calcule une signature basée sur le contenu de la requête reçue et sur l'algorithme de signature utilisé par le front-end. Ensuite, le plug-in ajoute la signature calculée à la requête et l'envoie au service backend.

3. Appeler l'API de distribution

Avant d'appeler l'API, assurez-vous que toutes les API concernées sont publiées et correctement testées.

curl 'http://17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com/distributeAPI?target=resource1' -i

L'extrait de code suivant montre un exemple de requête envoyée à un service backend :

GET /business1 HTTP/1.1
User-Agent: curl/7.64.1
Via: 0045e52ee3a8400b8501b4c449b28779
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Forwarded-Proto: http
X-Forwarded-For: 192.168.XX.XX, 127.0.0.1
Host: backend1.alicloudapi.com:8080
X-Ca-Request-Id: 23853B41-C54D-45E9-8C43-EE4C1E8A7889
Via: bc48a42a3d17408b991b0bb4d18c23c0
curl 'http://17ff4c9189004a1d87b557606b767334-cn-huhehaote.alicloudapi.com/distributeAPI?target=resource2' -i

L'extrait de code suivant présente un autre exemple de requête envoyée à un service backend :

GET /business2 HTTP/1.1
User-Agent: curl/7.64.1
Via: 0045e52ee3a8400b8501b4c449b28779
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Forwarded-Proto: http
X-Forwarded-For: 192.168.XX.XX, 127.0.0.1
Host: backend2.alicloudapi.com:8080
X-Ca-Request-Id: AFD529D2-9B24-437E-8CEC-897E0BCD8B2F
Via: bc48a42a3d17408b991b0bb4d18c23c0