【问题标题】:Sudden connection problems突然的连接问题
【发布时间】:2020-05-28 12:39:54
【问题描述】:

自 5 月 20 日起,Azure IOT Hub 突然出现连接问题。

我们有两个 Multitech Coundit 网关,它们已经完美运行了大约。 1 年,但突然无法再连接到 Azure IOT Hub。 SSL 证书仍然有效。

我尝试为那个网关生成新密钥,但也没有用。

由于这两个网关在硬件方面非常有限,我们不能使用专用的节点红色 Aure 连接器,而必须使用标准的 MQTT 连接。

Azure 日志提供以下输出:

ResourceType: IOTHUBS
OperationName: deviceConnect
ResultType: 401003
ResultDescription: IotHubUnauthorized
Level: Error
SourceSystem: Azure
authType: null
protocol: Mqtt
statusCode: 401

感谢任何帮助。

【问题讨论】:

    标签: azure-iot-hub azure-iot-hub-device-management


    【解决方案1】:

    这是在黑暗中拍摄的,但如果设备时间不同步超过 2 秒,集线器将拒绝消息(不幸的是,我现在找不到相关参考)。

    示例问题Connection Not Accepted: 0x5: Not Authorized

    【讨论】:

      【解决方案2】:

      错误401003 IoTHubUnauthorized

      可能有不同的原因

      原因 1

      对于 MQTT,一些 SDK 依赖 IoT Hub 在 SAS 令牌过期时发出断开连接以知道何时刷新它。所以,

      1. SAS 令牌过期
      2. IoT 中心通知到期,并与设备断开连接 401003 IoTHub未授权
      3. 设备完成断开与404104 DeviceConnectionClosedRemotely
      4. IoT SDK 生成新的 SAS 令牌
      5. 设备与 IoT 中心重新连接成功

      解决方案-1 如果使用 IoT SDK 使用设备连接字符串进行连接,则无需执行任何操作。 IoT SDK 重新生成新令牌以在 SAS 令牌到期时重新连接。

      如果需要考虑错误数量,请切换到 C SDK,它会在 SAS 令牌到期前更新。此外,对于 AMQP,SAS 令牌可以在不断开连接的情况下刷新。

      原因 2 IoT Hub 无法验证身份验证标头、规则或密钥。

      解决方案 2 通常,显示的错误消息应说明如何修复错误。如果由于某种原因您无法访问错误消息详细信息,请确保:

      您使用的 SAS 或其他安全令牌未过期。 对于您使用的协议,授权凭证格式正确。要了解更多信息,请参阅IoT Hub access control。 使用的授权规则对请求的操作具有权限。

      请参阅401003 IoTHubUnauthorized 了解更多详情。也可以查看Monitor, diagnose, and troubleshoot disconnects with Azure IoT Hub

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-29
        相关资源
        最近更新 更多