AMQPS Symfony Messenger 和 Heroku

AMQPS Symfony Messenger and Heroku

我通过 Heroku 的附加组件 (https://elements.heroku.com/addons/cloudamqp) 使用 CloudAMQP 和 « Little Lemur » 计划。 我正在构建一个 PHP Symfony 应用程序,我想通过 SSL 连接到 AMQP,但它在文档中说:

If you want to use TLS/SSL encrypted AMQP, you must also provide a CA certificate. Define the certificate path in the amqp.cacert PHP.ini setting (e.g. amqp.cacert = /etc/ssl/certs) or in the cacert parameter of the DSN (e.g amqps://localhost?cacert=/etc/ssl/certs/). » (https://symfony.com/doc/current/messenger.html#amqp-transport)

我的问题是我不知道 Heroku 上的 cacert 文件在哪里。

你能帮我解决这个问题吗?

我找到了解决方案,对于那些想知道如何在 Heroku 上处理它的人:你需要下载 CloudAMQP 的根 CA (https://www.cloudamqp.com/docs/faq.html#how-do-i-authenticate-the-identity-of-your-server-tls-certificates) 并将其放入你的源代码中,例如在 public 文件夹中。

然后,像这样在 MESSENGER_DSN 环境变量中设置路径 XXX?cacert=/app/public/cacertfilename.cer