代码400,消息为来自网络负载均衡器的错误请求版本('18.0}。

0

【以下的问题经过翻译处理】 我的问题是,我正在从IoT-Core/Lambda服务迁移到包含Mosquitto代理的ECS Docker容器。这是因为AWS IoT-Core不支持基本身份验证,而我们真的需要它得到支持,我们的物联网设备资源非常有限,因此我们很难在IoT-Core服务上执行所需的加密。现在我已经设置了Docker并实现了网络负载均衡器,但有时(仅有时)负载均衡器无法处理一个简单的JSON消息。我发送的MQTT消息始终相同,但有时负载均衡器会出现“代码400,消息错误请求版本”,而其他时候一切正常。当我直接将消息发送到容器的公共IP时,一切都能正常工作。当我在本地主机上运行相同的Docker时,也一切正常。所以我认为这是负载均衡器引起的问题,我对如何解决这个问题已经没什么主意了。

负载均衡器拒绝消息的日志:

2022-10-28 06:50:3410.0.0.196 - - [28/Oct/2022 04:50:34] 代码400,消息版本错误('18.0}')8a1c1c7e0e5d4353ac68e974ce4adb99 10.0.0.196 - - [28/Oct/2022 04:50:34] 代码400,消息版本错误('18.0}') 2022-10-28 06:50:3410.0.0.196 - - [28/Oct/2022 04:50:34] "2MQTTÂ <publisher dmrfOOgG5%@2hSV8DOF1nPa *80Ócanister/outgoing{"clientid": "786523DB50583837372E3120FF181243", "elapsedHours": 1, "powerUpCounter":

profile picture
专家
已提问 5 个月前23 查看次数
1 回答
0

【以下的回答经过翻译处理】 发现了问题:我在目标组中配置了端口80和端口1883,因此有时MQTT消息被路由到容器的80端口上。我在容器的80端口上运行了一个HTTP服务器,它记录了这个问题。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则