本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 MQ 上的 RabbitMQ:SSL ARN 无效
当外部身份验证机制的一个或多个 CA 证书信任库无效或无法访问时,亚马逊 MQ 上的 RabbitMQ 将引发 INVALID_ARN_SSL 关键操作所需的代码。 ARNs 这适用于aws.arns.ssl_options.cacertfile或中指定的 ARNSaws.arns.management.ssl.cacertfile,它必须引用包含证书的 Amazon S3 或 ACM PCA 对象。
由于未配置有效的信任库,RABBITMQ_INVALID_ARN_SSL 隔离区中的代理无法在双向 TLS 握手期间对客户端证书进行身份验证。如果外部身份验证机制是唯一配置的身份验证方法,则用户将无法连接到代理。无效 ARNs 可能是由于 ARN 语法格式错误、对不存在的 S3 对象的引用、S3 对象位于与代理 AWS 不同的区域或 IAM 角色中的 s3GetObject: /acm-pca: 权限GetCertificateAuthorityCertificate 不足。
诊断和解决 RABBITMQ_INVALID_ARN_SSL
要诊断和解决 RABBITMQ_INVALID_ARN_SSL 操作所需的代码,您必须使用亚马逊日志和控制台。 CloudWatch
要解决无效的 SSL ARN 问题
-
导航至 Amazon CloudWatch Logs Insights,然后对您的经纪人的日志组运行以下查询
/aws/amazonmq/broker/<broker-id>/general:fields @timestamp, @message | sort @timestamp desc | filter @message like /error.*aws_arn_config/ | limit 10000 -
查找类似于以下内容的错误消息:
[error] <0.209.0> aws_arn_config: {<<"could not resolve ARN 'arn:aws:acm-pca:xxxx' for configuration 'aws.arns.ssl_options.cacertfile', error: \"AWS service is unavailable\"">>,{error,"AWS service is unavailable"}} -
检查 S3/ACM-PCA 对象并修复任何问题,例如:
验证密钥是否与经纪人位于同一 AWS 区域
确认 ARN 语法是否正确
确保 IAM 角色具有 s3: GetObject /acm-pca: 权限 GetCertificateAuthorityCertificate
-
在更新代理配置之前,使用 ARN 访问验证 API 端点验证修复程序。
-
更新代理配置并重启代理。