Application Delivery Management
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

NetScaler ADM als API-Proxyserver

Citrix Application Delivery Management (Citrix ADM) kann nicht nur NITRO REST-API-Anforderungen für eigene Verwaltungs- und Analysefunktionen empfangen, sondern auch als REST-API-Proxyserver für seine verwalteten Instanzen fungieren. Anstatt API-Anforderungen direkt an die verwalteten Instanzen zu senden, können REST-API-Clients die API-Anforderungen an Citrix ADM senden. Citrix ADM kann zwischen den API-Anforderungen, auf die es antworten muss, und den API-Anforderungen unterscheiden, die unverändert an eine verwaltete Instanz weitergeleitet werden müssen.

Citrix ADM bietet Ihnen als API-Proxyserver folgende Vorteile:

  • Validierung von API-Anfragen. Citrix ADM validiert alle API-Anforderungen anhand konfigurierter Sicherheits- und rollenbasierter Zugriffssteuerungsrichtlinien (RBAC). Citrix ADM ist ebenfalls mandantenfähig und stellt sicher, dass die API-Aktivität die Mandantengrenzen nicht überschreitet.

  • Zentralisiertes Audit. Citrix ADM verwaltet ein Überwachungsprotokoll aller API-Aktivitäten im Zusammenhang mit den verwalteten Instanzen.

  • Sitzungsverwaltung. NetScaler ADM befreit API-Clients von der Aufgabe, Sitzungen mit verwalteten Instanzen zu verwalten.

Funktionsweise von Citrix ADM als API-Proxyserver

Wenn NetScaler ADM eine Anforderung an eine verwaltete Instanz weiterleiten soll, konfigurieren Sie den API-Client so, dass er einen der folgenden HTTP-Header in die API-Anforderung einschließt:

Header-Werte Beschreibung
_MPS_API_PROXY_MANAGED_INSTANCE_NAME Name der verwalteten Instanz.
_MPS_API_PROXY_MANAGED_INSTANCE_IP IP-Adresse der verwalteten Instanz.
_MPS_API_PROXY_MANAGED_INSTANCE_ID ID der verwalteten Instanz.
_MPS_API_PROXY_TIMEOUT Timeout-Wert für eine NITRO-API-Anfrage. Legen Sie den Timeout-Wert in Sekunden fest. Wenn Sie ein Proxy-Timeout festlegen, wartet ADM auf die angegebene Dauer, bevor die Anforderung abgegeben wird.
_MPS_API_PROXY_MANAGED_INSTANCE_USERNAME Benutzername für den Zugriff auf die verwaltete ADC-Instanz.
_MPS_API_PROXY_MANAGED_INSTANCE_PASSWORD Kennwort für den Zugriff auf die verwaltete ADC-Instanz.
_MPS_API_PROXY_MANAGED_INSTANCE_SESSID Sitzungs-ID für den Zugriff auf die verwaltete Instanz.

Hinweis

Wenn Sie unter System > Administration > Systemkonfigurationen > Grundeinstellungendie Option Anmeldeinformationen für Instanzanmeldung auffordernauswählen, müssen Sie den Benutzernamen und das Kennwort einer verwalteten Instanz konfigurieren. Alternativ können Sie auch die Instanzsitzungs-ID angeben.

Das Vorhandensein eines dieser HTTP-Header hilft NetScaler ADM, eine API-Anforderung als eine Anforderung zu identifizieren, die an eine verwaltete Instanz weitergeleitet werden muss. Der Wert der Kopfzeile hilft Citrix ADM dabei, die verwaltete Instanz zu identifizieren, an die die Anforderung weitergeleitet werden muss.

Dieser Fluss ist in der folgenden Abbildung dargestellt:

Device-API

Wie in der obigen Abbildung gezeigt, verarbeitet NetScaler ADM die Anforderung wie folgt, wenn einer dieser HTTP-Header in einer Anforderung angezeigt wird:

  1. Ohne Änderung der Anforderung leitet Citrix ADM die Anforderung an die Instanz-API-Proxy-Engine weiter.

  2. Die Instanz-API-Proxy-Engine leitet die API-Anfrage an einen Validator weiter und protokolliert die Details der API-Anfrage im Audit-Protokoll.

  3. Der Validator stellt sicher, dass die Anfrage nicht gegen konfigurierte Sicherheitsrichtlinien, RBAC-Richtlinien, Mandantengrenzen usw. verstößt. Es führt zusätzliche Prüfungen durch, z. B. eine Prüfung, um festzustellen, ob die verwaltete Instanz verfügbar ist.

Wenn die API-Anfrage gültig ist und an die verwaltete Instanz weitergeleitet werden kann, identifiziert NetScaler ADM eine Sitzung, die vom Instanz Session Manager verwaltet wird, und sendet dann die Anfrage an die verwaltete Instanz.

Hinweis:

Stellen Sie sicher, dass die Option Anmeldeinformationen für Instanzanmeldung anfordern deaktiviert ist. Vorgehensweise:

  1. Navigieren Sie zu System > Administration.
  2. Wählen Sie in Systemkonfigurationen die Optionen System, Zeitzone, Zulässige URLs und Meldung des Tages aus.

Verwenden von NetScaler ADM als API-Proxyserver

Die folgenden Beispiele zeigen REST-API-Anforderungen, die ein API-Client an einen Citrix ADM -Server mit der IP-Adresse 192.0.2.5 sendet. Citrix ADM ist erforderlich, um die Anforderungen unverändert an eine verwaltete Instanz mit der IP-Adresse 192.0.2.10 weiterzuleiten. Alle Beispiele verwenden den _MPS_API_PROXY_MANAGED_INSTANCE_IP-Header.

Bevor die API-Anforderungen von Citrix ADM gesendet werden, muss der API-Client Folgendes ausführen:

  • Anmelden bei Citrix ADM
  • Besorgen Sie sich eine Sitzungs-ID
  • Fügen Sie die Sitzungs-ID in nachfolgende API-Anfragen ein.

Die Anmelde-API-Anforderung hat das folgende Format:

POST /nitro/v1/config/login Content-Type: application/json { "login": { "username":"nsroot", "password":"nsroot" } }

Citrix ADM antwortet auf die Anmeldeanforderung mit einer Antwort, die die Sitzungs-ID enthält. Der folgende Beispielantworttext zeigt eine Sitzungs-ID:

{ "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" } ] }

Beispiel 1: Rufen Sie die Statistiken für virtuelle Load-Balancing-Server ab

Der Client muss NetScaler ADM eine API-Anforderung mit folgendem Formular senden:

GET /nitro/v1/stat/lbvserver Content-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

Wobei der Wert des Cookie-Headers die Sitzungs-ID ist, die vom Login-API-Aufruf zurückgegeben wird. Und der Wert von _MPS_API_PROXY_MANAGED_INSTANCE_IP ist die IP-Adresse des ADC.

Beispiel 2: Erstellen eines virtuellen Lastausgleichsservers

Der Client muss NetScaler ADM eine API-Anforderung mit folgendem Formular senden:

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" } }

Beispiel 3: Ändern Sie einen virtuellen Lastausgleichsserver

Der Client muss NetScaler ADM eine API-Anforderung mit folgendem Formular senden:

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" } }

Beispiel 4: Löschen eines virtuellen Load-Balancing-Servers

Der Client muss NetScaler ADM eine API-Anforderung mit folgendem Formular senden:

DELETE /nitro/v1/config/lbvserver/sample_lbvserver Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

Beispiel 5: Laden Sie die CLI running Config auf dem ADC herunter

Der Client muss NetScaler ADM eine API-Anforderung mit folgendem Formular senden:

GET /nitro/v1/config/nsrunningconfig Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
NetScaler ADM als API-Proxyserver