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

Ubuntu环境下KrakenD访问/hello路径返回500错误问题求助

错误原因

你遇到的500错误和日志中的Error #01: invalid character 'H' looking for beginning of value是两个配置问题共同导致的:

  1. 全局返回编码默认解析为JSON:你的配置顶层设置了"output_encoding": "json",KrakenD会默认把所有后端返回的响应都当做JSON格式解析。你的Quarkus应用/hello接口返回的是纯文本内容(首字符为H,符合错误描述),不是合法JSON结构,所以解析直接失败返回500。
  2. 后端host配置格式错误:你配置的backend的host末尾多了斜杠,KrakenD拼接url时会生成http://域名//hello的错误路径,即使后端服务正常也可能无法正确请求。

另外你修改host为虚假地址后返回结果一致,是修改配置后没有重启KrakenD导致的,修改后的配置没有生效,KrakenD仍然使用之前的配置运行。

修复方案

你需要调整/hello对应的endpoint配置,覆盖全局的输出编码规则,同时修正host格式:

  1. 在/hello的endpoint配置中添加"output_encoding": "no-op",让KrakenD直接透传后端返回的原始内容,不做JSON解析
  2. 去掉backend的host末尾的斜杠
  3. 保存配置后重启KrakenD服务生效

修改后的/hello endpoint配置示例:

{
    "endpoint": "/hello",
    "output_encoding": "no-op",
    "extra_config": {},
    "backend": [
        {
            "url_pattern": "/hello",
            "method": "GET",
            "host": [
                "http://getting-started36-getting-going.apps.bamboutos.hostname.us"
            ]
        }
    ]
}

如果你的Quarkus应用返回的是纯文本格式,也可以将output_encoding设置为string,效果一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:06:04