## 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}
     /http/keyvals/
     /http/keyvals/{httpKeyvalZoneName}
     /stream/zone_sync/
     /resolvers/
     /resolvers/{resolverZoneName}
     /ssl
     /workers/
     /workers/{workerId}
响应对象

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

该模块取代了 ngx_http_status_modulengx_http_upstream_conf_module 模块。

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

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

配置示例

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 服务器状态信息的收集。多个服务器可以共享同一个 zone。

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

兼容性

端点

/

支持的方法:

  • GET - 返回根端点列表

    返回根端点列表。

    可能的响应:

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

支持的方法:

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

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

    请求参数:

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

    可能的响应:

    • 200 - 成功,返回 nginx
    • 404 - 未知版本 (UnknownVersion),返回 错误
/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 位置区域的状态

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

    请求参数:

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

    可能的响应:

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

支持的方法:

  • GET - 返回 HTTP 位置区域的状态

    返回特定 HTTP 位置区域的状态。

    请求参数:

    fields (string,可选)
    限制位置区域的哪些字段将被输出。

    可能的响应:

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

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

    可能的响应:

    • 204 - 成功
    • 404 - 未找到位置区域 (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 key (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
  • POST - 向 HTTP keyval 区域添加键值对

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

    请求参数:

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

    可能的响应:

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

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

    请求参数:

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

    可能的响应:

    • 204 - 成功
    • 400 - 无效的 JSON (KeyvalFormatError),需要 key (KeyvalFormatError),未启用 keyval 超时 (KeyvalFormatError),只能更新一个 key (KeyvalFormatError),读取请求正文失败 BodyReadError),返回 错误
    • 404 - 找不到 Keyval (KeyvalNotFound),找不到 keyval key (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法已禁用 (MethodDisabled),返回 错误
    • 413 - 请求实体过大,返回 错误
    • 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 - 返回所有流 limit_conn 区域的状态

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

    请求参数:

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

    可能的响应:

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

支持的方法:

  • GET - 返回流 limit_conn 区域的状态

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

    请求参数:

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

    可能的响应:

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

    重置连接限制统计信息。

    可能的响应:

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

支持的方法:

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

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

    请求参数:

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

    可能的响应:

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

支持的方法:

  • GET - 返回流上游服务器组的状态

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

    请求参数:

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

    可能的响应:

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

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

    可能的响应:

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

支持的方法:

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

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

    可能的响应:

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

    将新服务器添加到流上游服务器组。服务器参数以 JSON 格式指定。

    请求参数:

    postStreamUpstreamServer (流上游服务器, 必填)
    新服务器的地址和其他可选参数,采用 JSON 格式。“ID”、“backup”和“service”参数无法更改。

    可能的响应:

    • 201 - 已创建,返回 流上游服务器
    • 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 - 返回流上游服务器组中服务器的配置

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

    可能的响应:

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

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

    请求参数:

    patchStreamUpstreamServer (流上游服务器, 必填)
    以 JSON 格式指定的服务器参数。“ID”、“backup”和“service”参数无法更改。

    可能的响应:

    • 200 - 成功,返回 流上游服务器
    • 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 - 从流上游服务器组中删除服务器

    从流服务器组中删除服务器。

    可能的响应:

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

支持的方法:

  • GET - 返回所有流键值区域的键值对

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

    请求参数:

    fields (string, 可选)
    如果“fields”值为空,则仅输出流键值区域名称。

    可能的响应:

/stream/keyvals/{streamKeyvalZoneName}
所有方法的通用参数:
streamKeyvalZoneName (字符串,必需)
流键值共享内存区的名称。

支持的方法:

  • GET - 从流键值区域返回键值对

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

    请求参数:

    key (字符串,可选)
    从流键值区域获取特定的键值对。

    可能的响应:

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

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

    请求参数:

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

    可能的响应:

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

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

    请求参数:

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

    可能的响应:

    • 204 - 成功
    • 400 - 无效的 JSON (KeyvalFormatError),需要键 (KeyvalFormatError),未启用键值超时 (KeyvalFormatError),只能更新一个键 (KeyvalFormatError),读取请求正文失败 (BodyReadError)),返回 错误
    • 404 - 键值未找到 (KeyvalNotFound),键值键未找到 (KeyvalKeyNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法已禁用 (MethodDisabled),返回 错误
    • 413 - 请求实体过大,返回 错误
    • 415 - JSON 错误 (JsonError),返回 错误
  • DELETE - 清空流键值区域

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

    可能的响应:

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

支持的方法:

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

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

    可能的响应:

/resolvers/

支持的方法:

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

    返回每个 解析器区域 的状态信息。

    请求参数:

    fields (字符串,可选)
    限制输出哪些解析器统计信息字段。

    可能的响应:

    • 200 - 成功,返回所有解析器的 "解析器区域" 对象集合
    • 404 - 未知版本 (UnknownVersion),返回 错误
/resolvers/{resolverZoneName}
所有方法的通用参数:
resolverZoneName (字符串,必需)
解析器区域的名称。

支持的方法:

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

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

    请求参数:

    fields (字符串,可选)
    限制输出解析器区域的哪些字段(请求、响应或两者)。

    可能的响应:

    • 200 - 成功,返回 解析器区域
    • 404 - 找不到解析器区域 (ResolverZoneNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置解析器区域的统计信息。

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

    可能的响应:

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

支持的方法:

  • GET - 返回SSL统计信息

    返回SSL统计信息。

    请求参数:

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

    可能的响应:

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

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

    可能的响应:

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

支持的方法:

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

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

    请求参数:

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

    可能的响应:

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

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

    可能的响应:

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

支持的方法:

  • GET - 返回工作进程的状态

    返回特定工作进程的状态。

    请求参数:

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

    可能的响应:

    • 200 - 成功,返回 工作进程
    • 404 - 找不到工作进程 (WorkerNotFound),未知版本 (UnknownVersion),返回 错误
  • DELETE - 重置工作进程的统计信息。

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

    可能的响应:

    • 204 - 成功
    • 404 - 找不到工作进程 (WorkerNotFound),未知版本 (UnknownVersion),返回 错误
    • 405 - 方法已禁用 (MethodDisabled),返回 错误

响应对象