-
-
-
-
-
-
作为 API 代理服务器的 Citrix ADM
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
作为 API 代理服务器的 Citrix ADM
除了能够接收自己的管理和分析功能的 NITRO REST API 请求之外,Citrix Application Delivery Management (Citrix ADM) 还可以作为其托管实例的 REST API 代理服务器。REST API 客户端可以将 API 请求发送到 Citrix ADM,而不是直接向托管实例发送 API 请求。Citrix ADM 可以区分它必须响应的 API 请求和它必须转发到托管实例的 API 请求。
作为 API 代理服务器,Citrix ADM 为您提供了以下好处:
-
验证 API 请求。Citrix ADM 根据配置的安全性和基于角色的访问控制 (RBAC) 策略验证所有 API 请求。Citrix ADM 还具有租户感知功能,并确保 API 活动不会跨越租户边界。
-
集中审核。Citrix ADM 维护与其托管实例相关的所有 API 活动的审核日志。
-
会话管理。Citrix ADM 使 API 客户端不必维护与托管实例的会话的任务。
Citrix ADM 如何作为 API 代理服务器工作
如果希望 Citrix ADM 将请求转发到托管实例,则可以将 API 客户端配置为在 API 请求中包含以下任何一个 HTTP 标头:
- _MPS_API_PROXY_MANAGED_INSTANCE_NAME。托管实例的名称。
- _MPS_API_PROXY_MANAGED_INSTANCE_IP。托管实例的 IP 地址。
- _MPS_API_PROXY_MANAGED_INSTANCE_ID。托管实例的 ID。
存在这些 HTTP 标头中的任何一个可帮助 Citrix ADM 将 API 请求识别为它必须转发给托管实例的 API 请求。标头的值可帮助 Citrix ADM 识别它必须将请求转发到的托管实例。
下图中说明了此流程:
如上图所示,当请求中出现其中一个 HTTP 标头时,Citrix ADM 按如下方式处理请求:
-
在不修改请求的情况下,Citrix ADM 会将请求转发到实例 API 代理引擎。
-
实例 API 代理引擎将 API 请求转发至验证程序,并将 API 请求的详细信息记录在审核日志中。
-
验证程序确保请求没有违反配置的安全策略、RBAC 策略、租赁边界等。它会执行额外的检查,例如检查以确定托管实例是否可用。
如果 API 请求有效且可以转发到托管实例,Citrix ADM 会识别由实例会话管理器维护的会话,然后将请求发送到托管实例。
如何将 Citrix ADM 用作 API 代理服务器
以下示例显示了 API 客户端发送到 IP 地址为 192.0.2.5 的 Citrix ADM 服务器的 REST API 请求。需要 Citrix ADM 将请求(未更改)转发到具有 IP 地址 192.0.2.10 的托管实例。所有示例都使用 _MPS_API_PROXY_MANAGED_INSTANCE_IP 标头。
在向 Citrix ADM 发送 API 请求之前,API 客户端必须:
- 登录到 Citrix ADM
- 获取会话 ID
- 在后续 API 请求中包含会话 ID。
登录 API 请求的形式如下:
POST /nitro/v2/config/login HTTP/1.1
Host: 192.0.2.5
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
{
"login":
{
"username":"******",
"password":"*******"
}
}
<!--NeedCopy-->
Citrix ADM 通过包含会话 ID 的响应响应登录请求。以下示例响应正文显示了会话 ID:
{
"errorcode": 0,
"message": "Done",
"operation": "add",
"resourceType": "login",
"username": "***********",
"tenant_name": "Owner",
"resourceName": "******",
"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"
}
]
}
<!--NeedCopy-->
示例 1:检索负载平衡虚拟服务器统计信息
客户端必须向 Citrix ADM 发送以下形式的 API 请求:
GET /nitro/v1/stat/lbvserver HTTP/1.1
Host: 192.0.2.5
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
Cookie: SESSID=##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
Accept: application/json
Cache-Control: no-cache
<!--NeedCopy-->
示例 2:创建负载平衡虚拟服务器
客户端必须向 Citrix ADM 发送以下形式的 API 请求:
POST /nitro/v1/config/lbvserver/sample_lbvserver HTTP/1.1
Host: 192.0.2.5
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
Cookie: SESSID=##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
{"lbvserver":{"name":"sample_lbvserver","servicetype":"HTTP","ipv46":"10.102.1.11","port":"80"}}
<!--NeedCopy-->
示例 3:修改负载平衡虚拟服务器
客户端必须向 Citrix ADM 发送以下形式的 API 请求:
PUT /nitro/v1/config/lbvserver HTTP/1.1
Host: 192.0.2.5
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
Content-Type: application/json
Accept: application/json
Cache-Control: no-cache
{"lbvserver":{"name":"sample_lbvserver","appflowlog":"DISABLED"}}
<!--NeedCopy-->
示例 4:删除负载平衡虚拟服务器
客户端必须向 Citrix ADM 发送以下形式的 API 请求:
DELETE /nitro/v1/config/lbvserver/sample_lbvserver HTTP/1.1
Host: 192.0.2.5
Cookie: SESSID=##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
Cache-Control: no-cache
<!--NeedCopy-->
共享
共享
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select Do Not Agree to exit.