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

Teensy 4.1使用NativeEthernet向AWS InfluxDB发POST报400错误求助

问题原因

你代码存在多处HTTP协议格式错误,是触发AWS负载均衡返回400 Bad Request的直接原因:

  • 连接域名与实际目标不匹配:代码中server变量定义的是根域名influxdata.com,但你要访问的InfluxDB云实例实际域名为eu-central-1-1.aws.cloud2.influxdata.com,连接到错误的服务节点后,负载均衡无法匹配到对应的路由规则,直接返回错误。
  • Host头格式不符合规范:Host头仅允许填写域名/IP加可选端口,不能携带https://协议前缀,这属于标准HTTP协议格式错误,AWS负载均衡会直接判定为无效请求。
  • 请求体长度与声明不匹配:你声明的Content-Length是outputMSG的字符长度,但发送请求体时额外调用了一次client.println()多输出了一个换行符,实际发送的内容长度大于声明的长度,不符合HTTP协议要求。
  • Connection头配置逻辑矛盾:你每次发送请求前都会调用client.stop()主动断开连接,但请求头里却声明Connection: keep-alive,属于无效配置,建议同步修正。

修正方案

按照以下步骤修改代码即可解决问题:

  1. 将server变量替换为你的实际InfluxDB实例域名:
char server[] = "eu-central-1-1.aws.cloud2.influxdata.com";
  1. 修正Host头,删除多余的协议前缀:
client.println("Host: eu-central-1-1.aws.cloud2.influxdata.com");
  1. 调整请求体发送逻辑,删除多余的换行,同步修正Connection头配置:
client.println("Connection: close");
client.println(); // 请求头结束空行,必须保留
client.print(outputMSG); // 直接输出请求体,不要额外调用println加换行
  1. 可选优化:如果TLS握手时出现证书校验失败的问题,可以在调用client.connect时显式传入SNI参数为目标域名,确保与实例证书匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:09:01