Tous les produits
Search
Centre de documentation

API Gateway:Accéder à un service backend HTTP à l'aide d'API Gateway

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment créer et accéder à un service backend HTTP dans API Gateway.

Prérequis

Remarque

Dans cet exemple, nous utilisons une instance ECS déployée dans un VPC. L'instance ECS se trouve dans la même région que l'instance API Gateway. Apache est déployé sur l'instance ECS et utilise le port par défaut 80. Pour plus d'informations, consultez la section Étape 4 : Déployer Apache.

Processus

Cette rubrique fournit un guide étape par étape qui commence par la création d'un service backend. Le guide couvre également la création d'une API et d'une application, ainsi que leur association. En outre, cette rubrique explique comment déboguer l'API en ligne à l'aide d'un exemple basé sur un SDK et d'un exemple basé sur cURL.

Le processus comprend six étapes :

  1. Créer un service backend : configurez un service backend en tant que ressource dans la région où réside votre instance API Gateway. Vous pouvez sélectionner directement le service backend configuré lors de la création d'une API.

  2. Créer un groupe d'API : créez un groupe d'API. Les API sont gérées par groupes selon leurs types métier et la structure organisationnelle de l'entreprise.

  3. Créer une API : créez une API dans la console API Gateway.

  4. Créer une application et l'autoriser à appeler l'API : créez et autorisez une application qui servira d'identité pour appeler l'API.

  5. Déboguer l'API : vérifiez si l'API fonctionne comme prévu en utilisant la fonctionnalité de débogage en ligne fournie par la console API Gateway.

  6. Appeler l'API : utilisez un SDK fourni par API Gateway ou exécutez une commande cURL dans un outil en ligne de commande cURL pour appeler l'API.

Étape 1 : Créer un service backend

API Gateway vous permet de configurer des services backends en tant que ressources d'une région afin de simplifier la gestion. Il vous suffit de créer un service backend dans la console API Gateway et de configurer différentes URL pour ce service selon les environnements. Vous pouvez ensuite sélectionner directement le service backend configuré pour créer une API.

  1. Connectez-vous à la console API Gateway. Dans la barre de navigation supérieure, sélectionnez une région. Dans le volet de navigation de gauche, choisissez Manage APIs > Backend Services. Ensuite, cliquez sur Create Backend Service dans le coin supérieur droit.

  2. Dans la boîte de dialogue Create Backend Service, définissez Name sur httpd-online et Type sur HTTP/HTTPS Service, puis cliquez sur Confirm.

  3. Sur la page Backend Services, cliquez sur le service backend httpd-online. Sur la page Backend Service Definition, cliquez sur l'onglet Production puis sur Create dans le coin supérieur droit.

  4. Sur la page Basic Information, saisissez http://192.168.*.***:80 dans la zone Backend Service URL et cliquez sur Publish.

    Remarque

    http://192.168.*.***:80 correspond à l'adresse IP privée de l'instance ECS créée.

Étape 2 : Créer un groupe d'API

Les API sont gérées au sein de groupes d'API. Vous devez créer un groupe d'API avant de créer une API.

Remarque
  • Sur la page API Groups, affichez le groupe créé et cliquez sur son nom pour accéder à la page Group Details. Sur la page Group Details, vous pouvez bind a domain name, modify basic information et change the instance type pour le groupe d'API.

  • API Gateway attribue automatiquement un nom de domaine public de deuxième niveau au groupe d'API. Ce nom de domaine est utilisé uniquement à des fins de débogage et est limité à 100 appels par jour pour les régions situées en dehors de la Chine continentale, et à 1 000 appels par jour pour les régions situées en Chine continentale. Nous vous recommandons de lier un nom de domaine indépendant après avoir créé un groupe d'API.

  1. Dans le volet de navigation de gauche, choisissez Manage APIs > API Groups. Sur la page API Groups, cliquez sur Create Group dans le coin supérieur droit.

  2. Dans la boîte de dialogue Create Group, sélectionnez une instance dans la liste déroulante Instances, définissez Group Name sur httpd-demo, définissez BasePath sur /, puis cliquez sur Confirm.

Étape 3 : Créer une API

  1. Dans le volet de navigation de gauche, choisissez Manage APIs > API Groups. Sur la page API Groups, localisez le groupe httpd-demo que vous avez créé et cliquez sur Manage APIs dans la colonne Actions.

  2. Sur la page APIs, cliquez sur Create API dans le coin supérieur droit.

  3. À l'étape Basic Information, configurez les paramètres et cliquez sur Next. Le tableau suivant décrit les paramètres :

    Parameter

    Example

    Group

    httpd-demo

    API Name

    httpd-test

    Security authentication

    Alibaba Cloud App

    AppCode Authentication

    Enable AppCode Authentication (Header & Query)

    Signature Algorithm

    HMAC_SHA256

  4. À l'étape Define API Request, configurez les paramètres suivants et cliquez sur Next.

    Remarque

    À cette étape, vous définissez la manière dont un client, tel qu'un navigateur web, une application mobile ou un système métier, demande l'API. Les paramètres à configurer incluent le protocole, le chemin de la requête, la méthode HTTP, le mode de requête et les paramètres de la section Request Parameters. Dans cet exemple, le paramètre Request Mode est défini sur Pass-through. Cela signifie qu'API Gateway ne traite pas les paramètres envoyés par le client et les transmet directement au backend.

    Définissez Protocol sur HTTP et HTTPS, Request path sur /, HTTP Method sur GET et Inbound Request Mode sur pass-through.

  5. À l'étape Define Backend Service, configurez les paramètres suivants et cliquez sur Next.

    Remarque

    Définissez la manière dont API Gateway mappe et traite les paramètres, et comment il se connecte à l'adresse backend après avoir reçu une requête client. Dans cet exemple, le type de service backend est HTTP(S) Service.

    Parameter

    Example

    Configuration Mode

    Sélectionnez Use Existing Backend Service.

    Backend Service Type

    Sélectionnez HTTP/HTTPS Service.

    Backend Service

    httpd-online

    Backend Request Path

    /

    HTTP Method

    GET

    Backend Service Timeout Period

    10000

  6. À l'étape Define Response, configurez les paramètres de la page selon vos besoins métier, puis cliquez sur Create.

  7. Dans le message qui s'affiche, cliquez sur Publish.

  8. Dans la boîte de dialogue Publish API, définissez Environment sur Release, saisissez des remarques dans la section Remarks, puis cliquez sur Publish.

    Remarque

    Après avoir modifié une API, vous devez la publier dans l'environnement correspondant pour que la modification prenne effet. API Gateway propose trois environnements intégrés : test, pre-release et production.

Étape 4 : Créer une application et l'autoriser à appeler l'API

Une application est l'identité que vous utilisez pour appeler une API. À l'étape Créer une API de cet exemple, la méthode d'authentification est définie sur Alibaba Cloud App. Par conséquent, après la publication de l'API, vous devez créer une application et lui accorder les autorisations nécessaires pour appeler l'API.

Créer une application

  1. Dans le volet de navigation de gauche, choisissez Call APIs > Apps. Sur la page Apps, cliquez sur Create App dans le coin supérieur droit.

  2. Saisissez un nom d'application dans le champ App Name et cliquez sur Confirm. Dans cet exemple, le nom de l'application est httpd.

  3. Sur la page Apps, cliquez sur l'application httpd que vous avez créée. Sur la page App Details, vous constatez que deux méthodes d'authentification sont disponibles : AppKey et AppCode. La méthode AppKey comprend une paire AppKey et AppSecret, qui fonctionne de manière similaire à un couple nom d'utilisateur et mot de passe. Lorsque vous appelez l'API, vous devez transmettre AppKey en tant que paramètre. AppSecret sert à calculer les signatures. API Gateway vérifie la paire AppKey-AppSecret pour authentifier votre identité.

Autoriser l'application à appeler l'API

  1. Dans le volet de navigation de gauche, choisissez Manage APIs > APIs. Sur la page APIs, localisez l'API http-test et cliquez sur image > Authorize dans la colonne Actions.

  2. Sur la page Authorize, définissez le paramètre Stage sur Production. Saisissez le nom de l'application que vous avez créée dans la barre de recherche de la section Choose Apps for Authorization. Dans les résultats de recherche, sélectionnez l'application créée, cliquez sur Add dans la colonne Actions, puis sur Confirm. Un message apparaît pour vous informer que l'application est autorisée à appeler l'API.

Étape 5 : Déboguer l'API

API Gateway prend en charge le débogage en ligne. Nous vous recommandons d'utiliser cette fonctionnalité pour vérifier si une API est correctement configurée avant de l'appeler depuis des clients.

  1. Dans le volet de navigation de gauche, choisissez Call APIs > Debug. Sur la page Debug API, sélectionnez l'API httpd-test, définissez Verification Method sur Use AppSecret, puis cliquez sur Send Request.

  2. Si l'appel aboutit, examinez les informations de réponse pour confirmer que la configuration est réussie.

    Un appel réussi renvoie un code d'état HTTP 200 OK et un corps de réponse contenant le contenu de la page de test par défaut du service Apache backend, tel que « It works! ». Cela confirme qu'API Gateway s'est connecté avec succès au service backend.

Étape 6 : Appeler l'API

En suivant les étapes précédentes, vous avez créé et publié l'API, créé et autorisé une application à l'appeler, et débogué l'API. À cette étape, vous pouvez utiliser les SDK fournis par API Gateway pour appeler une API publiée depuis un système métier.

Utiliser un SDK

  1. Dans le volet de navigation de gauche, choisissez Call APIs > SDK. Dans la section Sample Code for Node.js Signature in Other Languages, sélectionnez un langage, par exemple Node.js, et cliquez sur View Sample Code for Node.js.

  2. Exécutez la commande $ npm install aliyun-api-gateway -S pour installer le SDK d'exemple pour Node.js à l'aide de npm.

    Dans l'extrait de code suivant, remplacez YOUR_APP_KEY et YOUR_APP_SECRET par l'AppKey et l'AppSecret de l'application créée dans cet exemple.

    // Import the SDK for Node.js that you downloaded.
    const Client = require('aliyun-api-gateway').Client;
    // Create an instance for the authorized application. Specify the AppKey and AppSecret of the authorized application.
    const client = new Client('YOUR_APP_KEY','YOUR_APP_SECRET');
    async function get() {
    // Use the domain name of the API group to which the API that you want to call belongs. You can use the public second-level domain name provided by API Gateway to test API calls. However, a limit is imposed on the number of API calls. We recommend that you bind an independent domain name to the API Group.
      var url = 'YOUR_GROUP_DOMAIN';
      var result = await client.get(url, {
    // Specify the request header. Some APIs can return data formats based on the specified response type. We recommend that you manually define the request header based on your business requirements. 
        headers: {
          accept: 'application/json'
        },
      });
      console.log(JSON.stringify(result));
    }
    get().catch((err) => {
      console.log(err.stack);
    });                

Utiliser cURL

Dans le volet de navigation de gauche, choisissez Call APIs > Apps. Sur la page Apps, cliquez sur l'application autorisée et obtenez son AppCode sur la page qui s'affiche. Ensuite, utilisez l'exemple de code suivant pour appeler l'API :

curl -i -X GET "http://3fbf0648d01e4aa5a1d*******-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE c404eca23959492b9f0e4d4d15****"
HTTP/1.1 200 OK
Date: Tue, 01 Aug 2023 09:41:07 GMT
Content-Type: text/html
Content-Length: 4897
Server: Apache/2.4.6 (CentOS)
X-Ca-Request-Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>Apache HTTP Server Test Page</title>
</head>
<body>
...
<h1>Testing 123..</h1>
<p>This page is used to test the proper operation of the Apache HTTP server...</p>
...
</body>
</html>