我创建了一个 Amazon MQ 代理:
- 选择代理引擎:RabbitMQ 3.8.6
- 单实例代理
- 网络和安全:公共访问
- VPC 和子网:使用默认 VPC 和子网
我尝试了两个库:来自 RabbitMQ 手册和 Enqueue\AmqpExt
他们中的任何一个都无法连接到亚马逊(使用 docker 容器一切正常。但我想尝试 AMAZON MQ。
我使用了下面的代码:
use Enqueue\AmqpExt\AmqpConnectionFactory;
use PhpAmqpLib\Connection\AMQPSSLConnection;
$connectionFactory = new AmqpConnectionFactory([
'host' => 'b-da219bXXXXXXXXXXXX86a.mq.us-east-1.amazonaws.com',
'port' => 5671,
'vhost' => '/',
'user' => 'xxxx',
'pass' => 'xxxx', // I can login with this to rabbit admin panel
'persisted' => false,
'ssl_on' => false,
'ssl_verify' => false,
]);
$c = $connectionFactory->createContext();
$queue = $c->createQueue('emails');
$c->declareQueue($queue);
结果:
Library error: connection closed unexpectedly - Potential login failure.
使用 'ssl_on' => true 相同的错误。
我不知道这是否会发生,因为我没有向亚马逊提供 ssl 证书。
如果是这样,如何解决?