

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon MQ 上的 RabbitMQ：無效的 HTTP ARN Amazon MQ
<a name="troubleshooting-action-required-codes-invalid-arn-http"></a>

 當 HTTP auth\_backend 的 SSL 憑證或金鑰檔案ARNs 無效或無法存取時，Amazon MQ 上的 RabbitMQ 將引發 INVALID\_ARN\_HTTP 關鍵動作必要程式碼。 Amazon MQ 這適用於 `aws.arns.auth_http.ssl_options.cacertfile`、 `aws.arns.auth_http.ssl_options.certfile`或 中指定的 ARNS`aws.arns.auth_http.ssl_options.keyfile`，其必須參考包含憑證和私有金鑰的 Amazon S3 物件和 AWS Secrets Manager 秘密。

 RABBITMQ\_INVALID\_ARN\_HTTP 隔離中的代理程式無法透過 HTTP 伺服器進行身分驗證。如果 HTTP 是唯一設定的身分驗證方法，使用者將無法連線到代理程式。無效的 ARNs可能是由格式不正確的 ARN 語法、對不存在秘密的參考、與代理程式位於不同 AWS 區域的秘密，或 IAM 角色中的 s3：GetObject/secretsmanager：GetSecretValue 許可不足所造成。

## 診斷和解決 RABBITMQ\_INVALID\_ARN\_HTTP
<a name="w2aac40c33b7"></a>

 若要診斷和解決 RABBITMQ\_INVALID\_ARN\_HTTP 動作所需的程式碼，您必須使用 Amazon CloudWatch Logs 和 主控台。

**解決無效的 HTTP ARN 問題**

1. 導覽至 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
   ```

1. 尋找類似以下的錯誤訊息：

   ```
   [error] <0.209.0> aws_arn_config: {<<"could not resolve ARN 'arn:aws:s3:::xxxx' for configuration 'aws.arns.auth_http.ssl_options.certfile', error: \"AWS service is unavailable\"">>,{error,"AWS service is unavailable"}}
   ```

1. 檢查 S3 Object/Secrets Manager 秘密並修正任何問題，例如：
   + 確認資源與代理程式位於相同的 AWS 區域中
   + 確認 ARN 語法正確
   + 確保 IAM 角色具有 s3：GetObject 和 secretsmanager：GetSecretValue 許可

1. 在更新代理程式組態之前，使用 [ARN 存取驗證](arn-support-rabbitmq-configuration.md#arn-support-validation) API 端點驗證修正。

1. 更新代理程式組態並重新啟動代理程式。