开启认证和授权请求HTTP之后,mqtt一段时间连不上,各种错误

错误报告

环境

  • EMQX 版本:5.0.20
  • 操作系统版本:

重现此问题的步骤

  1. 2023-03-22T10:25:14.671214+00:00 [error] msg: unexpected_sock_close, mfa: emqx_channel:handle_info/2, line: 1266, peername: 192.168.4.188:52914, clientid: bb.ddsdfsddsdsfdfs.myLAFQ35SToTSFfb6jNYigZ1Jomy3algzYzYfO36aO4, reason: protocol_error
    2023-03-22T10:25:26.669917+00:00 [error] msg: unexpected_sock_close, mfa: emqx_channel:handle_info/2, line: 1266, peername: 192.168.4.188:53670, clientid: bb.ddsdfsddsdsfdfs.myLAFQ35SToTSFfb6jNYigZ1Jomy3algzYzYfO36aO4, reason: protocol_error
    2023-03-22T10:25:26.670213+00:00 [error] msg: unexpected_sock_close, mfa: emqx_channel:handle_info/2, line: 1266, peername: 192.168.4.188:53670, clientid: bb.ddsdfsddsdsfdfs.myLAFQ35SToTSFfb6jNYigZ1Jomy3algzYzYfO36aO4, reason: protocol_error
  2. 2023-03-22T09:36:08.786175+00:00 [warning] msg: http_connector_do_request_failed, mfa: emqx_connector_http:on_query/3, line: 314, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, connector: <<“emqx_authz_http:5846”>>, reason: timeout
    2023-03-22T09:36:08.786399+00:00 [error] msg: send_error, mfa: emqx_resource_buffer_worker:handle_query_result_pure/3, line: 842, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, id: <<“emqx_authz_http:5846”>>, reason: {recoverable_error,timeout}
    2023-03-22T09:36:08.786857+00:00 [error] msg: http_server_query_failed, mfa: emqx_authz_http:authorize/4, line: 113, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, reason: {recoverable_error,timeout}, resource: <<“emqx_authz_http:5846”>>
    2023-03-22T09:36:14.288017+00:00 [warning] msg: http_connector_do_request_failed, mfa: emqx_connector_http:on_query/3, line: 314, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, connector: <<“emqx_authz_http:5846”>>, reason: timeout
    2023-03-22T09:36:14.288315+00:00 [error] msg: send_error, mfa: emqx_resource_buffer_worker:handle_query_result_pure/3, line: 842, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, id: <<“emqx_authz_http:5846”>>, reason: {recoverable_error,timeout}
    2023-03-22T09:36:14.288534+00:00 [error] msg: http_server_query_failed, mfa: emqx_authz_http:authorize/4, line: 113, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, reason: {recoverable_error,timeout}, resource: <<“emqx_authz_http:5846”>>
    2023-03-22T09:36:14.288809+00:00 [warning] msg: last_will_testament_publish_denied, mfa: emqx_channel:publish_will_msg/2, line: 2137, peername: 223.104.194.212:13385, clientid: bb.2ddsdssss.PwcwcLzQsxToHIKhcCu0FhahcJBxIXkOLkMu59RDDag, topic: willTopic/iPhone-04B28E4B-ACC4-4EA0-806

预期行为

实际行为


功能请求

描述你需要的功能

为什么你需要这个功能


其他

授权和认证都出问题,造成客户端连不上mqtt服务

请求 HTTP 认证失败导致连接失败,这个合理的。调查下为甚么配置服务器会 timeout 呢

unexpected_sock_close 这个错误 , reason: protocol_error 是什么原因
2023-03-22T10:25:14.671214+00:00 [error] msg: unexpected_sock_close, mfa: emqx_channel:handle_info/2, line: 1266, peername: 192.168.4.188:52914, clientid: bb.ddsdfsddsdsfdfs.myLAFQ35SToTSFfb6jNYigZ1Jomy3algzYzYfO36aO4, reason: protocol_error
2023-03-22T10:25:26.669917+00:00 [error] msg: unexpected_sock_close, mfa: emqx_channel:handle_info/2, line: 1266, peername: 192.168.4.188:53670, clientid: bb.ddsdfsddsdsfdfs.myLAFQ35SToTSFfb6jNYigZ1Jomy3algzYzYfO36aO4, reason: protocol_error
2023-03-22T10:25:26.670213+00:00 [error] msg: unexpected_sock_close, mfa:

具体原因不太清楚,有这个设备的连接的全部的 DEBUG 日志么?

这个跟什么配置有关系吗,我们是nginx负载均衡到3台broker服务上面

你在 emqx 侧开下日志追踪,追踪下某个 ClientID 的 DEBUG 日志看看是什么情况下会突然断开连接?

你好,请问开启http认证和授权之后,在有大量的客户端的情况下,如果还使用默认配置的话是否会导致连接频繁的断开