RabbitMQ:如何在RabbitMQ Advance配置文件中设置和使用自定义环境变量

5lwkijsr  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(324)

我们已配置RabbitMQ服务器与LDAP服务器通信以进行身份验证**,该服务器正在按预期工作**。但我们面临一个挑战,即需要将一个值从配置外部化到环境变量。
以下是advance.config文件中的当前配置

{other_bind, {"CN=Service_Account,OU=Service Accounts,DC=XYZ,DC=com",{string,"123456"}}},

想把它做成这样

{other_bind, {"CN=Service_Account,OU=Service Accounts,DC=XYZ,DC=com",{string,"${RABBITMQ_SERVICE_ACCOUNT_PASSWORD}"}}},

因此,我们希望将密码外部化为某个环境变量,并在advance.config文件中使用相同的密码。
我尝试在rabbitmq-env.conf文件中设置值,但没有成功。
同样,根据本文,我们不能在rabbitmq-env.conf文件中设置自定义环境变量,对吗?如果是,那么我们可以在哪里设置这个值?
https://riptutorial.com/rabbitmq/example/14032/configuring-rabbitmq-on--nix-systems

up9lanfz

up9lanfz1#

否,不支持此操作:

{other_bind, {"CN=Service_Account,OU=Service Accounts,DC=XYZ,DC=com",{string,"${RABBITMQ_SERVICE_ACCOUNT_PASSWORD}"}}},

一种选择是在RabbitMQ启动之前从模板生成advanced.config。如果RabbitMQ在您的环境中通过systemd启动,您可以使用ExecStartPre钩子来运行自定义脚本或程序。
要为RabbitMQ systemd单元创建嵌入式覆盖(并添加ExecStartPre),请按照以下说明操作:
https://wiki.archlinux.org/title/systemd#Editing_provided_units

**注意:**RabbitMQ团队监控rabbitmq-users邮件列表,仅在某些时候回答StackOverflow上的问题。

相关问题