You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署的KrakenD-Django微服务无法接收JSON请求体数据

问题:Django+KrakenD部署后POST请求数据无法到达后端服务

问题现象

所有端点状态正常,但POST请求提交的JSON数据无法传递到Django服务,本地环境运行正常,仅部署实例存在该问题。

请求示例

curl --location 'https://backend-dev-url.com/api/v1' \
--header 'Content-Type: application/json' \
--data '{
    "a":"value",
    "b":"value"
}'

收到的响应

{
      
    "a": [
        "This field is required."
    ],
    "b": [
        "This field is required."
    ]
  
}

当前KrakenD配置片段

{
      "endpoint": "api/v1",
      "method": "POST",
      "output_encoding": "no-op",
      "backend": [
        {
          "url_pattern": "api/v1",
          "encoding": "no-op",
          "sd": "static",
          "method": "POST",
          "host": ["http://localhost:8000"],
          "disable_host_sanitize": false
        }
      ],
      "input_headers": ["Authorization","Content-Type"],
      "extra_config": {
        "qos/ratelimit/router": {
          "max_rate": 100,
          "client_max_rate": 60,
          "every": "1m",
          "strategy": "ip"
        }
      }
    }

解决方案

问题源于KrakenD默认不会自动转发原始请求体,需显式配置开启该功能。修改配置如下:

  1. 在端点层级添加"input_body": "raw",指定网关直接转发原始请求体
  2. 保留后端的"encoding": "no-op",避免对请求体进行额外转换

修改后的配置片段:

{
      "endpoint": "api/v1",
      "method": "POST",
      "output_encoding": "no-op",
      "input_body": "raw",
      "backend": [
        {
          "url_pattern": "api/v1",
          "encoding": "no-op",
          "sd": "static",
          "method": "POST",
          "host": ["http://localhost:8000"],
          "disable_host_sanitize": false
        }
      ],
      "input_headers": ["Authorization","Content-Type"],
      "extra_config": {
        "qos/ratelimit/router": {
          "max_rate": 100,
          "client_max_rate": 60,
          "every": "1m",
          "strategy": "ip"
        }
      }
    }

原因说明:KrakenD默认会对请求做聚合或格式转换,未配置input_body: raw时,不会将客户端提交的原始JSON请求体转发给Django后端,导致Django无法获取数据,触发字段必填的校验错误。本地环境因为直接访问Django服务,未经过网关转发,所以功能正常。

内容的提问来源于stack exchange,提问作者Geo Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:45:59