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 方法時,請確保 payload 不超過讀取客戶端請求主體的緩衝區大小,否則可能會返回 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 伺服器狀態資訊。多個伺服器可以共用同一個區域。

從 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 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 區域的統計資訊。

    重設特定位置區域中,已接受和已丟棄的請求、回應、已接收和已傳送的位元組統計資料。

    可能的回應

    • 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 (字串,必要)
快取區域的名稱。

支援的方法

  • 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 conns 的 "HTTP 連線限制" 物件集合
    • 404 - 未知版本 (UnknownVersion),傳回錯誤
/http/limit_conns/{httpLimitConnZoneName}
所有方法通用的參數
httpLimitConnZoneName (字串,必要)
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 (字串,必要)
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 (字串,必要)
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 (字串,必要)
上游伺服器群組的名稱。

支援的方法

  • 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 (字串,必要)
上游伺服器群組的名稱。
httpUpstreamServerId (字串,必要)
伺服器的 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 (字串,必要)
HTTP keyval 共用記憶體區域的名稱。

支援的方法

  • GET - 傳回 HTTP keyval 區域的金鑰值對

    傳回儲存在特定 HTTP keyval 共用記憶體 區域中的金鑰值對。

    請求參數

    key (字串,選用)
    從 HTTP keyval 區域取得特定金鑰值對。

    可能的回應

  • POST - 將金鑰值對新增至 HTTP keyval 區域

    將新的金鑰值對新增至 HTTP keyval 共用記憶體 區域。如果 HTTP keyval 共用記憶體區域為空,則可以輸入多個金鑰值對。

    請求參數

    金鑰值 (HTTP Keyval 共用記憶體區域,必要)
    鍵值對以 JSON 格式指定。如果 HTTP keyval 共享記憶體區域為空,則可以輸入多個鍵值對。可以使用 expire 參數為鍵值對指定過期時間(以毫秒為單位),該參數會覆蓋 timeout 參數,該參數屬於 keyval_zone 指令。

    可能的回應

    • 201 - 已建立
    • 400 - JSON 無效 (KeyvalFormatError)、金鑰格式無效 (KeyvalFormatError)、需要金鑰 (KeyvalFormatError)、未啟用 keyval 超時 (KeyvalFormatError)、只能新增一個金鑰 (KeyvalFormatError)、讀取請求主體失敗 (BodyReadError),傳回 錯誤
    • 404 - 找不到 Keyval (KeyvalNotFound)、不明版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
    • 409 - 條目已存在 (EntryExists)、金鑰已存在 (KeyvalKeyExists),傳回 錯誤
    • 413 - 請求實體過大,傳回 錯誤
    • 415 - JSON 錯誤 (JsonError),傳回 錯誤
  • PATCH - 修改鍵值或刪除金鑰

    變更鍵值對中選定金鑰的值、透過將金鑰值設定為 null 來刪除金鑰、變更鍵值對的過期時間。如果已啟用叢集中 keyval 區域的 同步,則僅在目標叢集節點上刪除金鑰。可以使用 expire 參數為鍵值對指定過期時間(以毫秒為單位),該參數會覆蓋 timeout 參數,該參數屬於 keyval_zone 指令。

    請求參數

    httpKeyvalZoneKeyValue (HTTP Keyval 共享記憶體區域,必要)
    金鑰的新值以 JSON 格式指定。

    可能的回應

    • 204 - 成功
    • 400 - JSON 無效 (KeyvalFormatError)、需要金鑰 (KeyvalFormatError)、未啟用 keyval 超時 (KeyvalFormatError)、只能更新一個金鑰 (KeyvalFormatError)、讀取請求主體失敗 (BodyReadError),傳回 錯誤
    • 404 - 找不到 keyval (KeyvalNotFound),找不到 keyval 金鑰 (KeyvalKeyNotFound),未知的版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
    • 413 - 請求實體過大,傳回 錯誤
    • 415 - JSON 錯誤 (JsonError),傳回 錯誤
  • DELETE - 清空 HTTP keyval 區域

    從 HTTP keyval 共享記憶體 區域 中刪除所有鍵值對。如果已啟用叢集中 keyval 區域的 同步,則僅在目標叢集節點上清空 keyval 區域。

    可能的回應

    • 204 - 成功
    • 404 - 找不到 Keyval (KeyvalNotFound)、不明版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
/stream/

支援的方法

  • GET - 傳回與串流相關的端點清單

    傳回第一層串流端點的清單。

    可能的回應

    • 200 - 成功,傳回字串陣列
    • 404 - 未知版本 (UnknownVersion),傳回錯誤
/stream/server_zones/

支援的方法

  • GET - 傳回所有串流伺服器區域的狀態

    傳回每個串流 伺服器區域 的狀態資訊。

    請求參數

    fields (string, 可選)
    限制將輸出伺服器區域的哪些欄位。如果「fields」值為空,則僅輸出伺服器區域名稱。

    可能的回應

    • 200 - 成功,傳回所有串流伺服器區域的「串流伺服器區域」物件集合
    • 404 - 未知版本 (UnknownVersion),傳回錯誤
/stream/server_zones/{streamServerZoneName}
所有方法通用的參數
streamServerZoneName (string,必要)
串流伺服器區域的名稱。

支援的方法

  • GET - 傳回串流伺服器區域的狀態

    傳回特定串流伺服器區域的狀態。

    請求參數

    fields (string, 可選)
    限制將輸出伺服器區域的哪些欄位。

    可能的回應

    • 200 - 成功,傳回 串流伺服器區域
    • 404 - 找不到伺服器區域 (ServerZoneNotFound),未知版本 (UnknownVersion),傳回錯誤
  • DELETE - 重設串流伺服器區域的統計資訊

    重設特定串流伺服器區域中已接受和已捨棄的連線、工作階段、已接收和已傳送的位元組、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 - 從所有串流 keyval 區域傳回鍵值對

    傳回每個串流 keyval 共享記憶體 區域 的鍵值對。

    請求參數

    fields (string, 可選)
    如果「fields」值為空,則只會輸出串流 keyval 區域名稱。

    可能的回應

/stream/keyvals/{streamKeyvalZoneName}
所有方法通用的參數
streamKeyvalZoneName (string,必要)
串流 keyval 共享記憶體區域的名稱。

支援的方法

  • GET - 從串流 keyval 區域傳回鍵值對

    傳回儲存在特定串流 keyval 共享記憶體 區域 中的鍵值對。

    請求參數

    key (字串,選用)
    從串流 keyval 區域取得特定的鍵值對。

    可能的回應

  • POST - 將鍵值對新增至串流 keyval 區域

    將新的鍵值對新增至串流 keyval 共享記憶體 區域。如果串流 keyval 共享記憶體區域為空,則可以輸入多個鍵值對。

    請求參數

    Key-value (串流 Keyval 共享記憶體區域,必要)
    金鑰值對以 JSON 格式指定。如果 stream keyval 共享記憶體區域為空,則可以輸入多個金鑰值對。金鑰值對的過期時間可以使用 expire 參數以毫秒為單位指定,這會覆寫 timeout 參數,該參數屬於 keyval_zone 指令。

    可能的回應

    • 201 - 已建立
    • 400 - JSON 無效 (KeyvalFormatError)、金鑰格式無效 (KeyvalFormatError)、需要金鑰 (KeyvalFormatError)、未啟用 keyval 超時 (KeyvalFormatError)、只能新增一個金鑰 (KeyvalFormatError)、讀取請求主體失敗 (BodyReadError),傳回 錯誤
    • 404 - 找不到 Keyval (KeyvalNotFound)、不明版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
    • 409 - 條目已存在 (EntryExists)、金鑰已存在 (KeyvalKeyExists),傳回 錯誤
    • 413 - 請求實體過大,傳回 錯誤
    • 415 - JSON 錯誤 (JsonError),傳回 錯誤
  • PATCH - 修改鍵值或刪除金鑰

    變更金鑰值對中選定金鑰的值,將金鑰值設定為 null 以刪除金鑰,變更金鑰值對的過期時間。如果啟用叢集中 keyval 區域的同步,則僅在目標叢集節點上刪除金鑰。過期時間使用 expire 參數以毫秒為單位指定,這會覆寫 timeout 參數,該參數屬於 keyval_zone 指令。

    請求參數

    streamKeyvalZoneKeyValue (Stream Keyval 共享記憶體區域,必填)
    金鑰的新值以 JSON 格式指定。

    可能的回應

    • 204 - 成功
    • 400 - JSON 無效 (KeyvalFormatError)、需要金鑰 (KeyvalFormatError)、未啟用 keyval 超時 (KeyvalFormatError)、只能更新一個金鑰 (KeyvalFormatError)、讀取請求主體失敗 (BodyReadError),傳回 錯誤
    • 404 - 找不到 keyval (KeyvalNotFound),找不到 keyval 金鑰 (KeyvalKeyNotFound),未知的版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
    • 413 - 請求實體過大,傳回 錯誤
    • 415 - JSON 錯誤 (JsonError),傳回 錯誤
  • DELETE - 清空 stream keyval 區域

    從 stream keyval 共享記憶體區域中刪除所有金鑰值對。如果啟用叢集中 keyval 區域的同步,則僅在目標叢集節點上清空 keyval 區域。

    可能的回應

    • 204 - 成功
    • 404 - 找不到 Keyval (KeyvalNotFound)、不明版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
/stream/zone_sync/

支援的方法

  • GET - 傳回節點的同步狀態

    傳回叢集節點的同步狀態。

    可能的回應

/resolvers/

支援的方法

  • GET - 傳回所有解析器區域的狀態

    傳回每個解析器區域的狀態資訊。

    請求參數

    fields (string, 可選)
    限制將輸出哪些解析器統計欄位。

    可能的回應

    • 200 - 成功,傳回所有解析器的 "解析器區域" 物件集合
    • 404 - 未知版本 (UnknownVersion),傳回錯誤
/resolvers/{resolverZoneName}
所有方法通用的參數
resolverZoneName (string,必填)
解析器區域的名稱。

支援的方法

  • GET - 傳回解析器區域的統計資訊

    傳回儲存在特定解析器區域中的統計資訊。

    請求參數

    fields (string, 可選)
    限制將輸出哪些解析器區域的欄位(請求、回應或兩者)。

    可能的回應

    • 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),傳回錯誤
/license

支援的方法

  • GET - 傳回授權資訊

    可能的回應

    • 200 - 成功,傳回 授權
    • 404 - 未知版本 (UnknownVersion),傳回錯誤
/workers/

支援的方法

  • GET - 傳回所有 worker 程序 的統計資訊

    傳回所有 worker 程序 的統計資訊,例如已接受、已捨棄、活動、閒置連線、總請求數和目前請求數。

    請求參數

    fields (string, 可選)
    限制將輸出哪些 worker 程序 統計欄位。

    可能的回應

    • 200 - 成功,傳回所有 worker 的 "Worker 程序" 物件集合
    • 404 - 找不到 Worker (WorkerNotFound)、未知版本 (UnknownVersion),傳回 錯誤
  • DELETE - 重設所有 worker 程序 的統計資訊。

    重設所有 worker 程序 的統計資訊,例如已接受、已捨棄、活動、閒置連線、總請求數和目前請求數。

    可能的回應

    • 204 - 成功
    • 404 - 找不到 Worker (WorkerNotFound)、未知版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤
/workers/{workerId}
所有方法通用的參數
workerId (string,必填)
worker 程序 的 ID。

支援的方法

  • GET - 傳回 worker 程序 的狀態

    傳回特定 worker 程序 的狀態。

    請求參數

    fields (string, 可選)
    限制將輸出哪些 worker 程序 統計欄位。

    可能的回應

    • 200 - 成功,傳回 Worker 程序
    • 404 - 找不到 Worker (WorkerNotFound)、未知版本 (UnknownVersion),傳回 錯誤
  • DELETE - 重設 worker 程序 的統計資訊。

    重設已接受、已捨棄、活動、閒置連線的統計資訊,以及總請求數和目前請求數。

    可能的回應

    • 204 - 成功
    • 404 - 找不到 Worker (WorkerNotFound)、未知版本 (UnknownVersion),傳回 錯誤
    • 405 - 方法已停用 (MethodDisabled),傳回錯誤

回應物件