-
-
-
-
-
NetScaler Console 作为 API 代理服务器
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!
NetScaler Console 作为 API 代理服务器
除了能够接收用于其自身管理和分析功能的 NITRO REST API 请求之外,NetScaler Application Delivery Management (NetScaler Console) 还可以充当其受管实例的 REST API 代理服务器。REST API 客户端无需将 API 请求直接发送到受管实例,而是可以将 API 请求发送到 NetScaler Console。NetScaler Console 能够区分它必须响应的 API 请求和它必须原样转发到受管实例的 API 请求。
作为 API 代理服务器,NetScaler Console 提供以下优势:
-
API 请求验证。NetScaler Console 根据配置的安全和基于角色的访问控制 (RBAC) 策略验证所有 API 请求。NetScaler Console 还具有租户感知能力,可确保 API 活动不会跨越租户边界。
-
集中式审计。NetScaler Console 维护与其受管实例相关的所有 API 活动的审计日志。
-
会话管理。NetScaler Console 使 API 客户端无需维护与受管实例的会话。
NetScaler Console 如何充当 API 代理服务器
当您希望 NetScaler Console 将请求转发到受管实例时,请配置 API 客户端以在 API 请求中包含以下任一 HTTP 标头:
| 标头值 | 描述 |
|---|---|
| _MPS_API_PROXY_MANAGED_INSTANCE_NAME | 受管实例的名称。 |
| _MPS_API_PROXY_MANAGED_INSTANCE_IP | 受管实例的 IP 地址。 |
| _MPS_API_PROXY_MANAGED_INSTANCE_ID | 受管实例的 ID。 |
| _MPS_API_PROXY_TIMEOUT | NITRO API 请求的超时值。以秒为单位设置超时值。设置代理超时后,NetScaler Console 会等待指定持续时间,然后使请求超时。 |
| _MPS_API_PROXY_MANAGED_INSTANCE_USERNAME | 访问受管 NetScaler 实例的用户名。 |
| _MPS_API_PROXY_MANAGED_INSTANCE_PASSWORD | 访问受管 NetScaler 实例的密码。 |
| _MPS_API_PROXY_MANAGED_INSTANCE_SESSID | 访问受管实例的会话 ID。 |
注意
在 “设置”>“管理”>“系统配置”>“基本设置” 中,如果选择 “实例登录提示凭据”,请确保配置受管实例的用户名和密码。或者,您也可以指定实例会话 ID。
存在这些 HTTP 标头中的任何一个,都有助于 NetScaler Console 将 API 请求识别为必须转发到受管实例的请求。标头的值有助于 NetScaler Console 识别必须转发请求的受管实例。
此流程如下图所示:

如上图所示,当请求中出现这些 HTTP 标头中的一个时,NetScaler Console 按如下方式处理请求:
-
NetScaler Console 不修改请求,将其转发到实例 API 代理引擎。
-
实例 API 代理引擎将 API 请求转发给验证器,并在审计日志中记录 API 请求的详细信息。
-
验证器确保请求不违反配置的安全策略、RBAC 策略、租户边界等。它会执行额外检查,例如检查受管实例是否可用。
如果 API 请求有效且可以转发到受管实例,NetScaler Console 会识别由实例会话管理器维护的会话,然后将请求发送到受管实例。
注意
确保禁用 “实例登录提示凭据” 选项。为此:
- 导航到 “设置”>“管理”。
- 在 “系统配置” 中,选择 “系统、时区、允许的 URL 和每日消息”。
如何将 NetScaler Console 用作 API 代理服务器
以下示例显示 API 客户端发送到 IP 地址为 192.0.2.5 的 NetScaler Console 服务器的 REST API 请求。NetScaler Console 需要将请求原样转发到 IP 地址为 192.0.2.10 的受管实例。所有示例都使用 _MPS_API_PROXY_MANAGED_INSTANCE_IP 标头。
在向 NetScaler Console 发送 API 请求之前,API 客户端必须:
- 登录到 NetScaler Console
- 获取会话 ID
- 在后续 API 请求中包含会话 ID。
登录 API 请求采用以下形式:
POST /nitro/v1/config/login
Content-Type: application/json
{
"login": {
"username":"nsroot",
"password":"nsroot"
}
}
<!--NeedCopy-->
NetScaler Console 响应登录请求,其响应中包含会话 ID。以下示例响应正文显示会话 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"
}
]
}
<!--NeedCopy-->
示例 1:检索负载平衡虚拟服务器统计信息
客户端必须向 NetScaler Console 发送以下形式的 API 请求:
GET /nitro/v1/stat/lbvserver
Content-type: application/json
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
<!--NeedCopy-->
其中 Cookie 标头的值是登录 API 调用返回的会话 ID。_MPS_API_PROXY_MANAGED_INSTANCE_IP 的值是 NetScaler 的 IP 地址。
示例 2:创建负载平衡虚拟服务器
客户端必须向 NetScaler Console 发送以下形式的 API 请求:
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"
}
}
<!--NeedCopy-->
示例 3:修改负载平衡虚拟服务器
客户端必须向 NetScaler Console 发送以下形式的 API 请求:
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"
}
}
<!--NeedCopy-->
示例 4:删除负载平衡虚拟服务器
客户端必须向 NetScaler Console 发送以下形式的 API 请求:
DELETE /nitro/v1/config/lbvserver/sample_lbvserver
Accept-type: application/json
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
<!--NeedCopy-->
示例 5:下载 NetScaler 上的 CLI 运行配置
客户端必须向 NetScaler Console 发送以下形式的 API 请求:
GET /nitro/v1/config/nsrunningconfig
Accept-type: application/json
_MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10
SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
<!--NeedCopy-->
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group 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 Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.