无权连接(5)- MQTT谷歌云物联网

4
2个回答

5

另一个需要考虑的问题是配置的GCP IoT Core云区域。

我曾经遇到过类似的问题。我将GCP IoT Core云区域配置为"asia-east1",而客户端应用程序默认云区域为"us-central1"。

如果云区域没有正确配置,Python/NodeJS IoT Core示例(mqtt、http、end2end)将返回错误,例如:

Creating JWT using RS256 from private key file rsa_private.pem
Publishing message 1/100: 'test/test_1-payload-1'
('on_connect', 'Connection Refused: not authorised.')
('on_disconnect', '5: The connection was refused.')

为了解决这个问题,只需向命令传递正确的云区域参数 --cloud_region=asia-east1
示例:
python cloudiot_mqtt_example.py --project_id=project_id --registry_id=registry_id --device_id=device_id --private_key_file=rsa_private.pem --algorithm=RS256 --cloud_region=asia-east1

你能提供更多关于你的回答的细节吗?那样会更有帮助。 - user9405863

0

需要检查的一些事情:

1)您确定 SSL 密钥的格式与您注册的匹配吗?RS256 与 RS256 with X509 等等?

2)您是否在 mqtt 客户端上设置了 TLS 并获取了 Google 根证书?

2a)>=TLS 1.2 吗?

3)验证 JWT 是否具有正确的“aud”值(项目 ID,而不是项目名称),并且具有正确的发布和到期时间?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接