request-id

名称

request-id 插件通过 APISIX 为每一个请求代理添加唯一 ID(UUID),以用于追踪 API 请求。该插件在 header_name 已经在请求中存在时不会为请求添加新的 ID。

属性

名称 类型 必选项 默认值 有效值 描述
header_name string 可选 “X-Request-Id” Request ID header name
include_in_response boolean 可选 false 是否需要在返回头中包含该唯一ID

如何启用

创建一条路由并在该路由上启用 request-id 插件:

  1. curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
  2. {
  3. "uri": "/hello",
  4. "plugins": {
  5. "request-id": {
  6. "include_in_response": true
  7. }
  8. },
  9. "upstream": {
  10. "type": "roundrobin",
  11. "nodes": {
  12. "127.0.0.1:8080": 1
  13. }
  14. }
  15. }'

测试插件

  1. $ curl -i http://127.0.0.1:9080/hello
  2. HTTP/1.1 200 OK
  3. X-Request-Id: fe32076a-d0a5-49a6-a361-6c244c1df956
  4. ......

禁用插件

在路由 plugins 配置块中删除 `request-id 配置,即可禁用该插件,无需重启 APISIX。

  1. curl http://127.0.0.1:9080/apisix/admin/routes/5 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
  2. {
  3. "uri": "/get",
  4. "plugins": {
  5. },
  6. "upstream": {
  7. "type": "roundrobin",
  8. "nodes": {
  9. "127.0.0.1:8080": 1
  10. }
  11. }
  12. }'