You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Mautic集成AWS MQ(RabbitMQ)时的"Invalid frame type 21"错误

问题:AWS MQ(RabbitMQ)与Mautic集成的SSL连接配置问题

已更新Mautic的local.php配置文件,填入RabbitMQ相关信息:

'queue_protocol' => 'rabbitmq',
  'rabbitmq_host' => '*',
  'rabbitmq_port' => '5671',
  'rabbitmq_vhost' => '/',
  'rabbitmq_user' => '*',
  'rabbitmq_password' => '*',
  'rabbitmq_idle_timeout' => 0,
  'rabbitmq_idle_timeout_exit_code' => 0,

但发送邮件时出现以下错误:

[2023-06-22 11:54:13] mautic.CRITICAL: 
Uncaught PHP Exception PhpAmqpLib\Exception\AMQPInvalidFrameException: "Invalid frame type 21" at /var/www/html/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php line 600 
{"exception":"[object] (PhpAmqpLib\\Exception\\AMQPInvalidFrameException(code: 0): Invalid frame type 21 at /var/www/html/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:600)"} 
{"hostname":"ip-10-1-1-94.eu-west-1.compute.internal","pid":984}

AWS MQ端日志显示:

2023-06-22 11:45:59.217872+00:00 [notice] <0.4922.0> TLS server: In state hello at tls_record.erl:564 generated SERVER ALERT: Fatal - Unexpected Message
2023-06-22 11:45:59.217872+00:00 [notice] <0.4922.0>  - {unsupported_record_type,65}

推测问题为Mautic使用非SSL连接,而AWS MQ强制要求SSL连接,需配置Mautic启用SSL队列连接。

解决方案

要让Mautic启用SSL连接AWS MQ的RabbitMQ,需在local.php中添加以下SSL相关配置项:

  • 添加'rabbitmq_use_ssl' => true,:明确开启SSL连接
  • 添加'rabbitmq_ssl_options'数组,配置SSL验证参数(匹配AWS MQ要求)

修改后的完整配置示例:

'queue_protocol' => 'rabbitmq',
  'rabbitmq_host' => '*',
  'rabbitmq_port' => '5671',
  'rabbitmq_vhost' => '/',
  'rabbitmq_user' => '*',
  'rabbitmq_password' => '*',
  'rabbitmq_idle_timeout' => 0,
  'rabbitmq_idle_timeout_exit_code' => 0,
  'rabbitmq_use_ssl' => true,
  'rabbitmq_ssl_options' => [
      'verify_peer' => true,
      'verify_peer_name' => true,
      'allow_self_signed' => false, // AWS MQ使用官方可信证书,无需允许自签
      'cafile' => '/path/to/aws-root-ca.pem' // 可选,若服务器无法自动识别AWS根证书,需指定证书路径
  ],

配置说明:

  • rabbitmq_use_ssl:设为true强制使用SSL连接,匹配AWS MQ的5671端口要求
  • rabbitmq_ssl_options:
    • verify_peer和verify_peer_name:开启服务器证书验证,保障连接安全性
    • allow_self_signed:AWS MQ提供的是正规可信证书,设为false即可
    • cafile:若服务器无法自动读取系统信任的根证书,可下载AWS根CA证书后指定其本地路径

配置完成后,重启Mautic服务,再尝试发送邮件验证连接是否正常。

内容的提问来源于stack exchange,提问作者Halil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:15:25