如何为 rabbitmq 添加密码套件支持?

How to add cipher suites support for rabbitmq?

我在我的环境中安装了两个 RMQ。 旧安装有版本 3.7.8 和 erlang 21.1。 较新的安装有版本 3.7.9 和 erlang 21.2

新安装有这个密码只支持这些套件。与具有更多密码套件的旧安装不同,根本不支持 ecdhe。

 sudo rabbitmq-diagnostics cipher_suites
 Listing available cipher suites in the Erlang term format
 [{dhe_rsa,aes_256_gcm,aead,sha384},
 {dhe_dss,aes_256_gcm,aead,sha384},
 {dhe_rsa,aes_256_cbc,sha256},
 {dhe_dss,aes_256_cbc,sha256},
 {dhe_rsa,aes_128_gcm,aead,sha256},
 {dhe_dss,aes_128_gcm,aead,sha256},
 {dhe_rsa,aes_128_cbc,sha256},
 {dhe_dss,aes_128_cbc,sha256},
 {dhe_rsa,aes_256_cbc,sha},
 {dhe_dss,aes_256_cbc,sha},
 {dhe_rsa,aes_128_cbc,sha},
 {dhe_dss,aes_128_cbc,sha}]

我无法在 chrome 中登录管理插件。它抛出 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 异常。 如何添加更多密码套件?

最初发布 here

您可能 运行 遇到密码套件可用性受限的问题。使用 Erlang 21.1,请注意可用套件的默认数量小于总数(在我的机器上):

2> length(ssl:cipher_suites()).
36
3> length(ssl:cipher_suites(all)).
74

要测试密码套件理论,请执行以下操作:

  • 运行 erl 命令
  • 运行这条命令在shell(句点很重要):rp(ssl:cipher_suites(all)).

您将看到您平台上所有受支持套件的列表。

注意: 在您的情况下,您需要将 ciphers 部分添加到 rabbitmq.configrabbitmq_management 部分。如果您需要帮助,请关注邮件列表中的 your thread


注意: RabbitMQ 团队监控 the rabbitmq-users mailing list 并且有时只在 Whosebug 上回答问题。