ngx_http_api_module 模块

配置示例
指令
     api
     status_zone
兼容性
端点
     /
     /nginx
     /processes
     /connections
     /slabs/
     /slabs/{slabZoneName}
     /http/
     /http/requests
     /http/server_zones/
     /http/server_zones/{httpServerZoneName}
     /http/location_zones/
     /http/location_zones/{httpLocationZoneName}
     /http/caches/
     /http/caches/{httpCacheZoneName}
     /http/limit_conns/
     /http/limit_conns/{httpLimitConnZoneName}
     /http/limit_reqs/
     /http/limit_reqs/{httpLimitReqZoneName}
     /http/upstreams/
     /http/upstreams/{httpUpstreamName}/
     /http/upstreams/{httpUpstreamName}/servers/
     /http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}
     /http/keyvals/
     /http/keyvals/{httpKeyvalZoneName}
     /stream/
     /stream/server_zones/
     /stream/server_zones/{streamServerZoneName}
     /stream/limit_conns/
     /stream/limit_conns/{streamLimitConnZoneName}
     /stream/upstreams/
     /stream/upstreams/{streamUpstreamName}/
     /stream/upstreams/{streamUpstreamName}/servers/
     /stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId}
     /stream/keyvals/
     /stream/keyvals/{streamKeyvalZoneName}
     /stream/zone_sync/
     /resolvers/
     /resolvers/{resolverZoneName}
     /ssl
     /license
     /workers/
     /workers/{workerId}
响应对象

ngx_http_api_module 模块 (1.13.3) 提供了 REST API,用于访问各种状态信息、动态配置上游服务器组以及管理键值对,而无需重新配置 nginx。

该模块取代了 ngx_http_status_modulengx_http_upstream_conf_module 模块。

使用 PATCHPOST 方法时,请确保负载不超过用于读取客户端请求体的缓冲区大小,否则可能会返回 413 (Request Entity Too Large) 错误。

该模块作为我们的商业订阅的一部分提供。

配置示例

http {
    upstream backend {
        zone http_backend 64k;

        server backend1.example.com weight=5;
        server backend2.example.com;
    }

    proxy_cache_path /data/nginx/cache_backend keys_zone=cache_backend:10m;

    server {
        server_name backend.example.com;

        location / {
            proxy_pass  http://backend;
            proxy_cache cache_backend;

            health_check;
        }

        status_zone server_backend;
    }

    keyval_zone zone=one:32k state=one.keyval;
    keyval $arg_text $text zone=one;

    server {
        listen 127.0.0.1;

        location /api {
            api write=on;
            allow 127.0.0.1;
            deny all;
        }
    }
}

stream {
    upstream backend {
        zone stream_backend 64k;

        server backend1.example.com:12345 weight=5;
        server backend2.example.com:12345;
    }

    server {
        listen      127.0.0.1:12345;
        proxy_pass  backend;
        status_zone server_backend;
        health_check;
    }
}

所有 API 请求都在 URI 中包含支持的 API 版本。使用此配置的 API 请求示例

http://127.0.0.1/api/9/
http://127.0.0.1/api/9/nginx
http://127.0.0.1/api/9/connections
http://127.0.0.1/api/9/workers
http://127.0.0.1/api/9/http/requests
http://127.0.0.1/api/9/http/server_zones/server_backend
http://127.0.0.1/api/9/http/caches/cache_backend
http://127.0.0.1/api/9/http/upstreams/backend
http://127.0.0.1/api/9/http/upstreams/backend/servers/
http://127.0.0.1/api/9/http/upstreams/backend/servers/1
http://127.0.0.1/api/9/http/keyvals/one?key=arg1
http://127.0.0.1/api/9/stream/
http://127.0.0.1/api/9/stream/server_zones/server_backend
http://127.0.0.1/api/9/stream/upstreams/
http://127.0.0.1/api/9/stream/upstreams/backend
http://127.0.0.1/api/9/stream/upstreams/backend/servers/1

指令

语法 api [write=on|off];
默认值
上下文 location

在所在的 location 中开启 REST API 接口。对此 location 的访问应该受到限制

write 参数决定 API 是只读还是读写。默认情况下,API 是只读的。

所有 API 请求都应该在 URI 中包含支持的 API 版本。如果请求 URI 等于 location 前缀,则返回支持的 API 版本列表。当前 API 版本是“9”。

请求行中可选的“fields”参数指定将输出哪些被请求对象的字段

http://127.0.0.1/api/9/nginx?fields=version,build

语法 status_zone zone;
默认值
上下文 server, location, if in location

该指令出现在版本 1.13.12 中。

在指定的 zone 中启用收集虚拟 httpstream 服务器的状态信息。多个服务器可以共享同一个区域。

从 1.17.0 版本开始,状态信息可以按 location 收集。特殊值 off 会禁用嵌套 location 块中的统计信息收集。请注意,统计信息是在处理结束的 location 上下文中收集的。如果在请求处理期间发生内部重定向,它可能与原始 location 不同。

兼容性

端点

/

支持的方法

  • GET - 返回根端点列表

    返回根端点列表。

    可能的响应

    • 200 - 成功,返回字符串数组
    • 404 - 未知版本 (UnknownVersion),返回 错误
/nginx

支持的方法

  • GET - 返回 nginx 运行实例的状态

    返回 nginx 版本、构建名称、地址、配置重新加载次数、主进程和工作进程的 ID。

    请求参数

    fields (string, 可选)
    限制输出 nginx 运行实例的哪些字段。

    可能的响应

/processes

支持的方法

  • GET - 返回 nginx 进程状态

    返回异常终止和重新启动的子进程数量。

    可能的响应

    • 200 - 成功,返回 进程
    • 404 - 未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置 nginx 进程统计信息

    重置异常终止和重新启动的子进程计数器。

    可能的响应

    • 204 - 成功
    • 404 - 未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/connections

支持的方法

  • GET - 返回客户端连接统计信息

    返回客户端连接统计信息。

    请求参数

    fields (string, 可选)
    限制输出连接统计信息的哪些字段。

    可能的响应

    • 200 - 成功,返回 连接
    • 404 - 未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置客户端连接统计信息

    重置接受和丢弃的客户端连接统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/slabs/

支持的方法

  • GET - 返回所有 Slab 的状态

    返回每个使用 Slab 分配器的共享内存区域的 Slab 状态。

    请求参数

    fields (string, 可选)
    限制输出 Slab 区域的哪些字段。如果“fields”值为空,则只输出区域名称。

    可能的响应

/slabs/{slabZoneName}
所有方法共有的参数
slabZoneName (string, 必需)
使用 Slab 分配器的共享内存区域的名称。

支持的方法

  • GET - 返回某个 Slab 的状态

    返回特定使用 Slab 分配器的共享内存区域的 Slab 状态。

    请求参数

    fields (string, 可选)
    限制输出该 Slab 区域的哪些字段。

    可能的响应

  • DELETE - 重置 Slab 统计信息

    重置每个内存槽的“reqs”和“fails”指标。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 Slab (SlabNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/

支持的方法

  • GET - 返回与 HTTP 相关的端点列表

    返回第一级 HTTP 端点列表。

    可能的响应

    • 200 - 成功,返回字符串数组
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/requests

支持的方法

  • GET - 返回 HTTP 请求统计信息

    返回客户端 HTTP 请求的状态。

    请求参数

    fields (string, 可选)
    限制输出客户端 HTTP 请求统计信息的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP 请求
    • 404 - 未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置 HTTP 请求统计信息

    重置客户端总 HTTP 请求数。

    可能的响应

    • 204 - 成功
    • 404 - 未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/server_zones/

支持的方法

  • GET - 返回所有 HTTP 服务器区域的状态

    返回每个 HTTP 服务器区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出服务器区域的哪些字段。如果“fields”值为空,则只输出服务器区域名称。

    可能的响应

    • 200 - 成功,返回所有 HTTP 服务器区域的“HTTP 服务器区域”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/server_zones/{httpServerZoneName}
所有方法共有的参数
httpServerZoneName (string, 必需)
HTTP 服务器区域的名称。

支持的方法

  • GET - 返回某个 HTTP 服务器区域的状态

    返回特定 HTTP 服务器区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该服务器区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP 服务器区域
    • 404 - 未找到服务器区域 (ServerZoneNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置某个 HTTP 服务器区域的统计信息

    重置特定 HTTP 服务器区域中已接受和已丢弃请求、响应、接收和发送字节、SSL 握手次数和会话重用次数的统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到服务器区域 (ServerZoneNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/location_zones/

支持的方法

  • GET - 返回所有 HTTP location 区域的状态

    返回每个 HTTP location 区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出 location 区域的哪些字段。如果“fields”值为空,则只输出区域名称。

    可能的响应

    • 200 - 成功,返回所有 HTTP location 区域的“HTTP Location 区域”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/location_zones/{httpLocationZoneName}
所有方法共有的参数
httpLocationZoneName (string, 必需)
HTTP location 区域的名称。

支持的方法

  • GET - 返回某个 HTTP location 区域的状态

    返回特定 HTTP location 区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该 location 区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP Location 区域
    • 404 - 未找到 location 区域 (LocationZoneNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置某个 location 区域的统计信息。

    重置特定 location 区域中已接受和已丢弃请求、响应、接收和发送字节的统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 location 区域 (LocationZoneNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/caches/

支持的方法

  • GET - 返回所有缓存的状态

    返回由 proxy_cache_path 和其他“*_cache_path”指令配置的每个缓存的状态。

    请求参数

    fields (string, 可选)
    限制输出缓存区域的哪些字段。如果“fields”值为空,则只输出缓存区域名称。

    可能的响应

    • 200 - 成功,返回所有 HTTP 缓存的“HTTP 缓存”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/caches/{httpCacheZoneName}
所有方法共有的参数
httpCacheZoneName (string, 必需)
缓存区域的名称。

支持的方法

  • GET - 返回某个缓存的状态

    返回特定缓存的状态。

    请求参数

    fields (string, 可选)
    限制输出该缓存区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP 缓存
    • 404 - 未找到缓存 (CacheNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置缓存统计信息

    重置特定缓存区域中的缓存命中/未命中统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到缓存 (CacheNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/limit_conns/

支持的方法

  • GET - 返回所有 HTTP limit_conn 区域的状态

    返回每个 HTTP limit_conn 区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出 limit_conn 区域的哪些字段。如果“fields”值为空,则只输出区域名称。

    可能的响应

    • 200 - 成功,返回所有 HTTP limit_conn 的“HTTP 连接限制”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/limit_conns/{httpLimitConnZoneName}
所有方法共有的参数
httpLimitConnZoneName (string, 必需)
limit_conn 区域的名称。

支持的方法

  • GET - 返回某个 HTTP limit_conn 区域的状态

    返回特定 HTTP limit_conn 区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该 limit_conn 区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP 连接限制
    • 404 - 未找到 limit_conn (LimitConnNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置某个 HTTP limit_conn 区域的统计信息

    重置连接限制统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 limit_conn (LimitConnNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/limit_reqs/

支持的方法

  • GET - 返回所有 HTTP limit_req 区域的状态

    返回每个 HTTP limit_req 区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出 limit_req 区域的哪些字段。如果“fields”值为空,则只输出区域名称。

    可能的响应

/http/limit_reqs/{httpLimitReqZoneName}
所有方法共有的参数
httpLimitReqZoneName (string, 必需)
limit_req 区域的名称。

支持的方法

  • GET - 返回某个 HTTP limit_req 区域的状态

    返回特定 HTTP limit_req 区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该 limit_req 区域的哪些字段。

    可能的响应

  • DELETE - 重置某个 HTTP limit_req 区域的统计信息

    重置请求限制统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 limit_req (LimitReqNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/upstreams/

支持的方法

  • GET - 返回所有 HTTP 上游服务器组的状态

    返回每个 HTTP 上游服务器组及其服务器的状态。

    请求参数

    fields (string, 可选)
    限制输出上游服务器组的哪些字段。如果“fields”值为空,则只输出上游名称。

    可能的响应

    • 200 - 成功,返回所有 HTTP 上游的“HTTP 上游”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/http/upstreams/{httpUpstreamName}/
所有方法共有的参数
httpUpstreamName (string, 必需)
HTTP 上游服务器组的名称。

支持的方法

  • GET - 返回某个 HTTP 上游服务器组的状态

    返回特定 HTTP 上游服务器组及其服务器的状态。

    请求参数

    fields (string, 可选)
    限制输出该上游服务器组的哪些字段。

    可能的响应

    • 200 - 成功,返回 HTTP 上游
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
  • DELETE - 重置某个 HTTP 上游服务器组的统计信息

    重置上游服务器组中每个上游服务器的统计信息和队列统计信息。

    可能的响应

    • 204 - 成功
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/upstreams/{httpUpstreamName}/servers/
所有方法共有的参数
httpUpstreamName (string, 必需)
上游服务器组的名称。

支持的方法

  • GET - 返回某个 HTTP 上游服务器组中所有服务器的配置

    返回特定 HTTP 上游服务器组中每个服务器的配置。

    可能的响应

    • 200 - 成功,返回 HTTP 上游服务器数组
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
  • POST - 向某个 HTTP 上游服务器组添加一个服务器

    向 HTTP 上游服务器组添加一个新服务器。服务器参数以 JSON 格式指定。

    请求参数

    postHttpUpstreamServer (HTTP 上游服务器, 必需)
    新服务器的地址和其他可选参数,以 JSON 格式指定。“ID”、“backup”和“service”参数不能更改。

    可能的响应

    • 201 - 已创建,返回 HTTP 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),“parameter”值无效 (UpstreamConfFormatError),缺少“server”参数 (UpstreamConfFormatError),未知参数“name” (UpstreamConfFormatError),嵌套对象或列表 (UpstreamConfFormatError),解析时出错“error” (UpstreamBadAddress),服务上游“host”可能没有端口 (UpstreamBadAddress),服务上游“host”需要域名 (UpstreamBadAddress),“weight”无效 (UpstreamBadWeight),“max_conns”无效 (UpstreamBadMaxConns),“max_fails”无效 (UpstreamBadMaxFails),“fail_timeout”无效 (UpstreamBadFailTimeout),“slow_start”无效 (UpstreamBadSlowStart),读取请求体失败 BodyReadError),路由过长 (UpstreamBadRoute),“service”为空 (UpstreamBadService),未定义解析器进行解析 (UpstreamConfNoResolver),上游“name”没有备份 (UpstreamNoBackup),上游“name”内存不足 (UpstreamOutOfMemory),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 409 - 条目已存在 (EntryExists),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
/http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}
所有方法共有的参数
httpUpstreamName (string, 必需)
上游服务器组的名称。
httpUpstreamServerId (string, 必需)
服务器的 ID。

支持的方法

  • GET - 返回某个 HTTP 上游服务器组中某个服务器的配置

    返回 HTTP 上游服务器组中特定服务器的配置。

    可能的响应

    • 200 - 成功,返回 HTTP 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),服务器 ID 无效 (UpstreamBadServerId),返回 错误
    • 404 - ID 为“id”的服务器不存在 (UpstreamServerNotFound),未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
  • PATCH - 修改某个 HTTP 上游服务器组中的服务器

    修改 HTTP 上游服务器组中特定服务器的设置。服务器参数以 JSON 格式指定。

    请求参数

    patchHttpUpstreamServer (HTTP 上游服务器, 必需)
    服务器参数,以 JSON 格式指定。“ID”、“backup”和“service”参数不能更改。

    可能的响应

    • 200 - 成功,返回 HTTP 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),“parameter”值无效 (UpstreamConfFormatError),未知参数“name” (UpstreamConfFormatError),嵌套对象或列表 (UpstreamConfFormatError),解析时出错“error” (UpstreamBadAddress),“server”参数无效 (UpstreamBadAddress),服务器 ID 无效 (UpstreamBadServerId),“weight”无效 (UpstreamBadWeight),“max_conns”无效 (UpstreamBadMaxConns),“max_fails”无效 (UpstreamBadMaxFails),“fail_timeout”无效 (UpstreamBadFailTimeout),“slow_start”无效 (UpstreamBadSlowStart),读取请求体失败 BodyReadError),路由过长 (UpstreamBadRoute),“service”为空 (UpstreamBadService),服务器“ID”地址不可变 (UpstreamServerImmutable),服务器“ID”权重不可变 (UpstreamServerWeightImmutable),上游“name”内存不足 (UpstreamOutOfMemory),返回 错误
    • 404 - ID 为“id”的服务器不存在 (UpstreamServerNotFound),未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • DELETE - 从某个 HTTP 上游服务器组中移除服务器

    从 HTTP 上游服务器组中移除服务器。

    可能的响应

    • 200 - 成功,返回 HTTP 上游服务器数组
    • 400 - 上游是静态的 (UpstreamStatic),服务器 ID 无效 (UpstreamBadServerId),服务器“id”不可移除 (UpstreamServerImmutable),返回 错误
    • 404 - ID 为“id”的服务器不存在 (UpstreamServerNotFound),未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/http/keyvals/

支持的方法

  • GET - 从所有 HTTP keyval 区域返回键值对

    返回每个 HTTP keyval 共享内存区域的键值对。

    请求参数

    fields (string, 可选)
    如果“fields”值为空,则只输出 HTTP keyval 区域名称。

    可能的响应

/http/keyvals/{httpKeyvalZoneName}
所有方法共有的参数
httpKeyvalZoneName (string, 必需)
HTTP keyval 共享内存区域的名称。

支持的方法

  • GET - 从某个 HTTP keyval 区域返回键值对

    返回特定 HTTP keyval 共享内存区域中存储的键值对。

    请求参数

    key (string, 可选)
    从 HTTP keyval 区域获取特定的键值对。

    可能的响应

    • 200 - 成功,返回 HTTP Keyval 共享内存区域
    • 404 - 未找到 Keyval (KeyvalNotFound),未找到 Keyval 键 (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
  • POST - 向 HTTP keyval 区域添加一个键值对

    向 HTTP keyval 共享内存区域添加一个新的键值对。如果 HTTP keyval 共享内存区域为空,可以输入多个键值对。

    请求参数

    Key-value (HTTP Keyval 共享内存区域, 必需)
    键值对以 JSON 格式指定。如果 HTTP keyval 共享内存区域为空,可以输入多个键值对。可以使用 expire 参数指定键值对的过期时间(以毫秒为单位),这会覆盖 timeout 参数的 keyval_zone 指令。

    可能的响应

    • 201 - 已创建
    • 400 - JSON 无效 (KeyvalFormatError),键格式无效 (KeyvalFormatError),需要键 (KeyvalFormatError),keyval timeout 未启用 (KeyvalFormatError),只能添加一个键 (KeyvalFormatError),读取请求体失败 BodyReadError),返回 错误
    • 404 - 未找到 Keyval (KeyvalNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 409 - 条目已存在 (EntryExists),键已存在 (KeyvalKeyExists),返回 错误
    • 413 - 请求实体过大 (Request Entity Too Large),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • PATCH - 修改键值对或删除键

    更改键值对中选中键的值,通过将键值设置为 null 来删除键,更改键值对的过期时间。如果在集群中启用了 keyval 区域的同步,则仅在目标集群节点上删除键。可以使用 expire 参数指定键值对的过期时间(以毫秒为单位),这会覆盖 timeout 参数的 keyval_zone 指令。

    请求参数

    httpKeyvalZoneKeyValue (HTTP Keyval 共享内存区域, 必需)
    键的新值以 JSON 格式指定。

    可能的响应

    • 204 - 成功
    • 400 - JSON 无效 (KeyvalFormatError),需要键 (KeyvalFormatError),keyval timeout 未启用 (KeyvalFormatError),只能更新一个键 (KeyvalFormatError),读取请求体失败 BodyReadError),返回 错误
    • 404 - 未找到 Keyval (KeyvalNotFound),未找到 Keyval 键 (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 413 - 请求实体过大 (Request Entity Too Large),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • DELETE - 清空 HTTP keyval 区域

    从 HTTP keyval 共享内存区域中删除所有键值对。如果在集群中启用了 keyval 区域的同步,则仅在目标集群节点上清空 keyval 区域。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 Keyval (KeyvalNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/

支持的方法

  • GET - 返回与 stream 相关的端点列表

    返回第一级 stream 端点列表。

    可能的响应

    • 200 - 成功,返回字符串数组
    • 404 - 未知版本 (UnknownVersion),返回 错误
/stream/server_zones/

支持的方法

  • GET - 返回所有 stream 服务器区域的状态

    返回每个 stream 服务器区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出服务器区域的哪些字段。如果“fields”值为空,则只输出服务器区域名称。

    可能的响应

    • 200 - 成功,返回所有 stream 服务器区域的“Stream 服务器区域”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/stream/server_zones/{streamServerZoneName}
所有方法共有的参数
streamServerZoneName (string, 必需)
stream 服务器区域的名称。

支持的方法

  • GET - 返回某个 stream 服务器区域的状态

    返回特定 stream 服务器区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该服务器区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 Stream 服务器区域
    • 404 - 未找到服务器区域 (ServerZoneNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置某个 stream 服务器区域的统计信息

    重置特定 stream 服务器区域中已接受和已丢弃连接、会话、接收和发送字节、SSL 握手次数和会话重用次数的统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到服务器区域 (ServerZoneNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/limit_conns/

支持的方法

  • GET - 返回所有 stream limit_conn 区域的状态

    返回每个 stream limit_conn 区域的状态信息。

    请求参数

    fields (string, 可选)
    限制输出 limit_conn 区域的哪些字段。如果“fields”值为空,则只输出区域名称。

    可能的响应

    • 200 - 成功,返回所有 stream limit_conn 的“Stream 连接限制”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/stream/limit_conns/{streamLimitConnZoneName}
所有方法共有的参数
streamLimitConnZoneName (string, 必需)
limit_conn 区域的名称。

支持的方法

  • GET - 返回某个 stream limit_conn 区域的状态

    返回特定 stream limit_conn 区域的状态。

    请求参数

    fields (string, 可选)
    限制输出该 limit_conn 区域的哪些字段。

    可能的响应

    • 200 - 成功,返回 Stream 连接限制
    • 404 - 未找到 limit_conn (LimitConnNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置某个 stream limit_conn 区域的统计信息

    重置连接限制统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 limit_conn (LimitConnNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/upstreams/

支持的方法

  • GET - 返回所有 stream 上游服务器组的状态

    返回每个 stream 上游服务器组及其服务器的状态。

    请求参数

    fields (string, 可选)
    限制输出上游服务器组的哪些字段。如果“fields”值为空,则只输出上游名称。

    可能的响应

    • 200 - 成功,返回所有 stream 上游的“Stream 上游”对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/stream/upstreams/{streamUpstreamName}/
所有方法共有的参数
streamUpstreamName (string, 必需)
stream 上游服务器组的名称。

支持的方法

  • GET - 返回某个 stream 上游服务器组的状态

    返回特定 stream 上游服务器组及其服务器的状态。

    请求参数

    fields (string, 可选)
    限制输出该上游服务器组的哪些字段。

    可能的响应

    • 200 - 成功,返回 Stream 上游
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
  • DELETE - 重置某个 stream 上游服务器组的统计信息

    重置上游服务器组中每个上游服务器的统计信息。

    可能的响应

    • 204 - 成功
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/upstreams/{streamUpstreamName}/servers/
所有方法共有的参数
streamUpstreamName (string, 必需)
上游服务器组的名称。

支持的方法

  • GET - 返回某个 stream 上游服务器组中所有服务器的配置

    返回特定 stream 上游服务器组中每个服务器的配置。

    可能的响应

    • 200 - 成功,返回 Stream 上游服务器数组
    • 400 - 上游是静态的 (UpstreamStatic),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
  • POST - 向某个 stream 上游服务器组添加一个服务器

    向 stream 上游服务器组添加一个新服务器。服务器参数以 JSON 格式指定。

    请求参数

    postStreamUpstreamServer (Stream 上游服务器, 必需)
    新服务器的地址和其他可选参数,以 JSON 格式指定。“ID”、“backup”和“service”参数不能更改。

    可能的响应

    • 201 - 已创建,返回 Stream 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),“parameter”值无效 (UpstreamConfFormatError),缺少“server”参数 (UpstreamConfFormatError),未知参数“name” (UpstreamConfFormatError),嵌套对象或列表 (UpstreamConfFormatError),解析时出错“error” (UpstreamBadAddress),服务器“host”中没有端口 (UpstreamBadAddress),服务上游“host”可能没有端口 (UpstreamBadAddress),服务上游“host”需要域名 (UpstreamBadAddress),“weight”无效 (UpstreamBadWeight),“max_conns”无效 (UpstreamBadMaxConns),“max_fails”无效 (UpstreamBadMaxFails),“fail_timeout”无效 (UpstreamBadFailTimeout),“slow_start”无效 (UpstreamBadSlowStart),“service”为空 (UpstreamBadService),未定义解析器进行解析 (UpstreamConfNoResolver),上游“name”没有备份 (UpstreamNoBackup),上游“name”内存不足 (UpstreamOutOfMemory),读取请求体失败 BodyReadError),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 409 - 条目已存在 (EntryExists),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
/stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId}
所有方法共有的参数
streamUpstreamName (string, 必需)
上游服务器组的名称。
streamUpstreamServerId (string, 必需)
服务器的 ID。

支持的方法

  • GET - 返回某个 stream 上游服务器组中某个服务器的配置

    返回 stream 上游服务器组中特定服务器的配置。

    可能的响应

    • 200 - 成功,返回 Stream 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),服务器 ID 无效 (UpstreamBadServerId),返回 错误
    • 404 - 未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),ID 为“id”的服务器不存在 (UpstreamServerNotFound),返回 错误
  • PATCH - 修改某个 stream 上游服务器组中的服务器

    修改 stream 上游服务器组中特定服务器的设置。服务器参数以 JSON 格式指定。

    请求参数

    patchStreamUpstreamServer (Stream 上游服务器, 必需)
    服务器参数,以 JSON 格式指定。“ID”、“backup”和“service”参数不能更改。

    可能的响应

    • 200 - 成功,返回 Stream 上游服务器
    • 400 - 上游是静态的 (UpstreamStatic),“parameter”值无效 (UpstreamConfFormatError),未知参数“name” (UpstreamConfFormatError),嵌套对象或列表 (UpstreamConfFormatError),解析时出错“error” (UpstreamBadAddress),“server”参数无效 (UpstreamBadAddress),服务器“host”中没有端口 (UpstreamBadAddress),服务器 ID 无效 (UpstreamBadServerId),“weight”无效 (UpstreamBadWeight),“max_conns”无效 (UpstreamBadMaxConns),“max_fails”无效 (UpstreamBadMaxFails),“fail_timeout”无效 (UpstreamBadFailTimeout),“slow_start”无效 (UpstreamBadSlowStart),读取请求体失败 BodyReadError),“service”为空 (UpstreamBadService),服务器“ID”地址不可变 (UpstreamServerImmutable),服务器“ID”权重不可变 (UpstreamServerWeightImmutable),上游“name”内存不足 (UpstreamOutOfMemory),返回 错误
    • 404 - ID 为“id”的服务器不存在 (UpstreamServerNotFound),未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • DELETE - 从某个 stream 上游服务器组中移除服务器

    从 stream 服务器组中移除服务器。

    可能的响应

    • 200 - 成功,返回 Stream 上游服务器数组
    • 400 - 上游是静态的 (UpstreamStatic),服务器 ID 无效 (UpstreamBadServerId),服务器“id”不可移除 (UpstreamServerImmutable),返回 错误
    • 404 - ID 为“id”的服务器不存在 (UpstreamServerNotFound),未知版本 (UnknownVersion),未找到上游 (UpstreamNotFound),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/keyvals/

支持的方法

  • GET - 从所有 stream keyval 区域返回键值对

    返回每个 stream keyval 共享内存 zone 的键值对。

    请求参数

    fields (string, 可选)
    如果“fields”值为空,则仅输出 stream keyval zone 名称。

    可能的响应

/stream/keyvals/{streamKeyvalZoneName}
所有方法共有的参数
streamKeyvalZoneName (string, 必需)
Stream keyval 共享内存 zone 的名称。

支持的方法

  • GET - 从 stream keyval zone 返回键值对

    返回存储在特定 stream keyval 共享内存 zone 中的键值对。

    请求参数

    key (string, 可选)
    从 stream keyval zone 获取特定的键值对。

    可能的响应

  • POST - 向 stream keyval zone 添加键值对

    向 stream keyval 共享内存 zone 添加新的键值对。如果 stream keyval 共享内存 zone 为空,则可以输入多个键值对。

    请求参数

    Key-value (Stream Keyval Shared Memory Zone, 必需)
    键值对以 JSON 格式指定。如果 stream keyval 共享内存 zone 为空,则可以输入多个键值对。可以使用 expire 参数为键值对指定以毫秒为单位的过期时间,该时间会覆盖 timeout 指令的 keyval_zone 参数。

    可能的响应

    • 201 - 已创建
    • 400 - JSON 无效 (KeyvalFormatError),键格式无效 (KeyvalFormatError),需要键 (KeyvalFormatError),keyval timeout 未启用 (KeyvalFormatError),只能添加一个键 (KeyvalFormatError),读取请求体失败 BodyReadError),返回 错误
    • 404 - 未找到 Keyval (KeyvalNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 409 - 条目已存在 (EntryExists),键已存在 (KeyvalKeyExists),返回 错误
    • 413 - 请求实体过大 (Request Entity Too Large),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • PATCH - 修改键值对或删除键

    更改键值对中选定键的值,通过将键值设置为 null 删除键,更改键值对的过期时间。如果启用了集群中 keyval zone 的 同步,则仅在目标集群节点上删除键。过期时间以毫秒为单位,通过 expire 参数指定,该参数会覆盖 timeout 指令的 keyval_zone 参数。

    请求参数

    streamKeyvalZoneKeyValue (Stream Keyval Shared Memory Zone, 必需)
    键的新值以 JSON 格式指定。

    可能的响应

    • 204 - 成功
    • 400 - JSON 无效 (KeyvalFormatError),需要键 (KeyvalFormatError),keyval timeout 未启用 (KeyvalFormatError),只能更新一个键 (KeyvalFormatError),读取请求体失败 BodyReadError),返回 错误
    • 404 - 未找到 Keyval (KeyvalNotFound),未找到 Keyval 键 (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
    • 413 - 请求实体过大 (Request Entity Too Large),返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • DELETE - 清空 stream keyval zone

    从 stream keyval 共享内存 zone 中删除所有键值对。如果启用了集群中 keyval zone 的 同步,则仅在目标集群节点上清空 keyval zone。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 Keyval (KeyvalNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/stream/zone_sync/

支持的方法

  • GET - 返回节点的同步状态

    返回集群节点的同步状态。

    可能的响应

/resolvers/

支持的方法

  • GET - 返回所有解析器 zone 的状态

    返回每个 resolver zone 的状态信息。

    请求参数

    fields (string, 可选)
    限制将要输出的解析器统计信息的字段。

    可能的响应

    • 200 - 成功,返回所有解析器的 "Resolver Zone" 对象集合。
    • 404 - 未知版本 (UnknownVersion),返回 错误
/resolvers/{resolverZoneName}
所有方法共有的参数
resolverZoneName (string, 必需)
解析器 zone 的名称。

支持的方法

  • GET - 返回解析器 zone 的统计信息

    返回存储在特定解析器 zone 中的统计信息。

    请求参数

    fields (string, 可选)
    限制将要输出的解析器 zone 的字段(请求、响应或两者)。

    可能的响应

    • 200 - 成功,返回 Resolver Zone
    • 404 - 未找到解析器 zone (ResolverZoneNotFound),未知版本 (UnknownVersion),返回 Error
  • DELETE - 重置解析器 zone 的统计信息。

    重置特定解析器 zone 中的统计信息。

    可能的响应

    • 204 - 成功
    • 404 - 未找到解析器 zone (ResolverZoneNotFound),未知版本 (UnknownVersion),返回 Error
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/ssl

支持的方法

  • GET - 返回 SSL 统计信息

    返回 SSL 统计信息。

    请求参数

    fields (string, 可选)
    限制将要输出的 SSL 统计信息的字段。

    可能的响应

    • 200 - 成功,返回 SSL
    • 404 - 未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置 SSL 统计信息

    重置 SSL 握手和会话重用的计数器。

    可能的响应

    • 204 - 成功
    • 404 - 未知版本 (UnknownVersion),返回 错误
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/license

支持的方法

  • GET - 返回许可证信息

    可能的响应

    • 200 - 成功,返回 License
    • 404 - 未知版本 (UnknownVersion),返回 错误
/workers/

支持的方法

  • GET - 返回所有 worker 进程的统计信息

    返回所有 worker 进程的统计信息,例如已接受、已丢弃、活动、空闲连接,以及总请求数和当前请求数。

    请求参数

    fields (string, 可选)
    限制将要输出的 worker 进程统计信息的字段。

    可能的响应

    • 200 - 成功,返回所有 worker 的 "Worker process" 对象集合。
    • 404 - 未找到 worker (WorkerNotFound),未知版本 (UnknownVersion),返回 Error
  • DELETE - 重置所有 worker 进程的统计信息。

    重置所有 worker 进程的统计信息,例如已接受、已丢弃、活动、空闲连接,以及总请求数和当前请求数。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 worker (WorkerNotFound),未知版本 (UnknownVersion),返回 Error
    • 405 - 方法禁用 (MethodDisabled),返回 错误
/workers/{workerId}
所有方法共有的参数
workerId (string, 必需)
Worker 进程的 ID。

支持的方法

  • GET - 返回 worker 进程的状态

    返回特定 worker 进程的状态。

    请求参数

    fields (string, 可选)
    限制将要输出的 worker 进程统计信息的字段。

    可能的响应

    • 200 - 成功,返回 Worker process
    • 404 - 未找到 worker (WorkerNotFound),未知版本 (UnknownVersion),返回 Error
  • DELETE - 重置 worker 进程的统计信息。

    重置已接受、已丢弃、活动、空闲连接的统计信息,以及总请求数和当前请求数。

    可能的响应

    • 204 - 成功
    • 404 - 未找到 worker (WorkerNotFound),未知版本 (UnknownVersion),返回 Error
    • 405 - 方法禁用 (MethodDisabled),返回 错误

响应对象