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

升级Elasticsearch与Logstash时遭遇406错误求助

解决Logstash向Elasticsearch发送请求时的406错误

嘿,我之前升级Elasticsearch和Logstash的时候也碰到过一模一样的问题!这个406错误本质是请求的Content-Type不符合Elasticsearch的要求,尤其是新版ES(6.x及以后)对请求头的规范更严格了,而旧的Logstash配置可能没跟上。下面是我当时的解决步骤,你可以照着试试:

第一步:先确认版本兼容性

Elasticsearch和Logstash必须保持主版本号一致(比如都是6.8.x或者7.10.x),跨大版本升级很容易出现这种协议不兼容的问题。如果你下载的是ES最新版,一定要确保Logstash也是对应主版本的最新版,别一个用7.x一个用8.x,这样大概率会出问题。

第二步:修改Logstash的Elasticsearch输出配置

打开你的Logstash配置文件,找到output块里的elasticsearch部分,添加必要的头信息配置,强制指定Content-Type为ES要求的application/json:

output {
  elasticsearch {
    hosts => ["http://localhost:9400"]
    # 关键:设置请求头的Content-Type
    headers => {
      "Content-Type" => "application/json"
    }
    # 启用HTTP压缩,既能节省带宽也能避免一些头信息相关的小问题
    http_compression => true
    # 这里放你原本的其他配置,比如索引名称、文档ID之类的
    # index => "your-log-index-%{+YYYY.MM.dd}"
  }
}

第三步:重启Logstash并验证

保存配置后重启Logstash服务,然后观察日志。如果还是有错误,可以去Elasticsearch的日志里看看有没有更详细的提示——比如如果ES开启了安全认证,你可能还需要在Logstash配置里加上user和password参数;如果用了HTTPS,还要配置ssl => true相关的选项。

我当时就是这么解决的,应该能帮你搞定这个问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:01:16