NetScaler Console en tant que serveur proxy d'API

Dernière publication : Oct 02, 2026
En plus de pouvoir recevoir des requêtes d'API REST NITRO pour ses propres fonctionnalités de gestion et d'analyse, NetScaler Application Delivery Management (NetScaler Console) peut fonctionner comme un serveur proxy d'API REST pour ses instances gérées. Au lieu d'envoyer des requêtes d'API directement aux instances gérées, les clients d'API REST peuvent envoyer les requêtes d'API à NetScaler Console. NetScaler Console peut différencier les requêtes d'API auxquelles elle doit répondre et celles qu'elle doit transférer inchangées à une instance gérée.
En tant que serveur proxy d'API, NetScaler Console vous offre les avantages suivants :
  • Validation des requêtes d'API. NetScaler Console valide toutes les requêtes d'API par rapport aux politiques de sécurité et de contrôle d'accès basé sur les rôles (RBAC) configurées. NetScaler Console est également sensible aux locataires et garantit que l'activité d'API ne dépasse pas les limites des locataires.
  • Audit centralisé. NetScaler Console conserve un journal d'audit de toutes les activités d'API liées à ses instances gérées.
  • Gestion des sessions. NetScaler Console libère les clients d'API de la tâche de devoir maintenir des sessions avec les instances gérées.
En tant que serveur proxy d'API, NetScaler Console prend en charge la partition d'administration.

Comment NetScaler Console fonctionne en tant que serveur proxy d'API

Lorsque vous souhaitez que NetScaler Console transfère une requête à une instance gérée, vous configurez le client d'API pour qu'il inclue l'un des en-têtes HTTP suivants dans la requête d'API :
Valeurs d'en-tête Description
MPS-API-PROXY-MANAGED-INSTANCE-NAME Nom de l'instance gérée.
MPS-API-PROXY-MANAGED-INSTANCE-IP Adresse IP de l'instance gérée.
MPS-API-PROXY-MANAGED-INSTANCE-ID ID de l'instance gérée.
MPS-API-PROXY-TIMEOUT Valeur de délai d'expiration pour une requête API NITRO. Définissez la valeur de délai d'expiration en secondes. Lorsque vous définissez un délai d'expiration de proxy, NetScaler Console attend la durée spécifiée avant d'expirer la requête.
MPS-API-PROXY-MANAGED-INSTANCE-USERNAME Nom d'utilisateur pour accéder à l'instance NetScaler gérée.
MPS-API-PROXY-MANAGED-INSTANCE-PASSWORD Mot de passe pour accéder à l'instance NetScaler gérée.
MPS-API-PROXY-MANAGED-INSTANCE-SESSID ID de session pour accéder à l'instance gérée.
Remarque
Dans Paramètres > Administration > Configurations système > Paramètres de base, si vous sélectionnez Demander les informations d'identification pour la connexion à l'instance, assurez-vous de configurer le nom d'utilisateur et le mot de passe d'une instance gérée. Vous pouvez également spécifier l'ID de session de l'instance.
La présence de l'un de ces en-têtes HTTP aide NetScaler Console à identifier une requête API comme une requête qu'elle doit transmettre à une instance gérée. La valeur de l'en-tête aide NetScaler Console à identifier l'instance gérée à laquelle elle doit transmettre la requête.
Ce flux est représenté dans la figure suivante :
API de l'appareil
Comme indiqué dans la figure ci-dessus, lorsqu'un de ces en-têtes HTTP apparaît dans une requête, NetScaler Console traite la requête comme suit :
  1. Sans modifier la requête, NetScaler Console la transmet au moteur de proxy API de l'instance.
  2. Le moteur de proxy API de l'instance transmet la requête API à un validateur et enregistre les détails de la requête API dans le journal d'audit.
  3. Le validateur s'assure que la requête ne viole pas les politiques de sécurité configurées, les politiques RBAC, les limites de locataires, etc. Il effectue des vérifications supplémentaires, telles qu'une vérification pour déterminer si l'instance gérée est disponible.
Si la requête API est valide et peut être transmise à l'instance gérée, NetScaler Console identifie une session maintenue par le gestionnaire de session de l'instance, puis envoie la requête à l'instance gérée.
Remarque
Assurez-vous que l'option Demander les informations d'identification pour la connexion à l'instance est désactivée. Pour ce faire :
  1. Accédez à Paramètres > Administration.
  2. Dans Configurations système, sélectionnez Système, Fuseau horaire, URL autorisées et Message du jour.

Comment utiliser NetScaler Console comme serveur proxy API

Les exemples suivants montrent des requêtes API REST qu'un client API envoie à un serveur NetScaler Console ayant l'adresse IP 192.0.2.5. NetScaler Console doit transmettre les requêtes, sans modification, à une instance gérée avec l'adresse IP 192.0.2.10. Tous les exemples utilisent l'en-tête MPS-API-PROXY-MANAGED-INSTANCE-IP.
Avant d'envoyer les requêtes API à NetScaler Console, le client API doit :
  • Se connecter à NetScaler Console
  • Obtenir un ID de session
  • Inclure l'ID de session dans les requêtes API ultérieures.
La requête API de connexion est de la forme suivante :
    POST /nitro/v1/config/login
    Content-Type: application/json

    {
        "login": {
            "username":"nsroot",
            "password":"nsroot"
         }
    }
NetScaler Console répond à la requête de connexion avec une réponse qui inclut l'ID de session. L'exemple de corps de réponse suivant montre un ID de session :
{

  "errorcode": 0,

  "message": "Done",

  "operation": "add",

  "resourceType": "login",

  "username": "***********",

  "tenant_name": "Owner",

  "resourceName": "nsroot",

  "login": [

    {

      "tenant_name": "Owner",

      "permission": "superuser",

      "session_timeout": "36000",

      "challenge_token": "",

      "username": "",

      "login_type": "",

      "challenge": "",

      "client_ip": "",

      "client_port": "-1",

      "cert_verified": "false",

      "sessionid": "##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D",

      "token": "b2f3f935e93db6a"
    }

  ]

}

Exemple 1 : Récupérer les statistiques du serveur virtuel d'équilibrage de charge

Le client doit envoyer à NetScaler Console une requête API de la forme suivante :
GET /nitro/v1/stat/lbvserver
Content-type: application/json
MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
Où la valeur de l'en-tête Cookie est l'ID de session renvoyé par l'appel API de connexion. Et la valeur de MPS-API-PROXY-MANAGED-INSTANCE-IP est l'adresse IP du NetScaler.

Exemple 2 : Créer un serveur virtuel d'équilibrage de charge

Le client doit envoyer à NetScaler Console une requête API de la forme suivante :

    POST /nitro/v1/config/lbvserver/sample_lbvserver
    Content-type: application/json
    Accept-type: application/json
    MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
    SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

    {
         "lbvserver":{
             "name":"sample_lbvserver",
             "servicetype":"HTTP",
             "ipv46":"10.102.1.11",
             "port":"80"
         }
    }

Exemple 3 : Modifier un serveur virtuel d'équilibrage de charge

Le client doit envoyer à NetScaler Console une requête API de la forme suivante :
    PUT /nitro/v1/config/lbvserver
    Content-type: application/json
    Accept-type: application/json
    MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
    SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

    {
       "lbvserver":{
            "name":"sample_lbvserver",
            "appflowlog":"DISABLED"
       }
    }

Exemple 4 : Supprimer un serveur virtuel d'équilibrage de charge

Le client doit envoyer à NetScaler Console une requête API de la forme suivante :
    DELETE /nitro/v1/config/lbvserver/sample_lbvserver
    Accept-type: application/json
    MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
    SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

Exemple 5 : Télécharger la configuration CLI en cours d'exécution sur le NetScaler

Le client doit envoyer à NetScaler Console une requête API de la forme suivante :
    GET /nitro/v1/config/nsrunningconfig
    Accept-type: application/json
    MPS-API-PROXY-MANAGED-INSTANCE-IP: 192.0.2.10
    SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D