如果不支持RC4,Erlang将无法启动

xxslljrj  于 2022-12-20  发布在  Erlang
关注(0)|答案(1)|浏览(184)

我们在产品中使用了RabbitMQ,它利用了Erlang。我们通过debian映像进行部署,这些映像具有自定义构建的SSL库(不是openssl),并且已将RC 4支持注解掉。由于缺少RC 4,每当RabbitMQ/Erlang尝试启动时,我们都会看到以下错误,并且启动失败。

2021-01-12 15:32:00.007 [error] <0.427.0> Unable to load crypto library. Failed with error:
    "load_failed, Failed to load NIF library: '/usr/lib/erlang/lib/crypto-4.4/priv/lib/crypto.so: symbol RC4 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference'"
    OpenSSL might not be installed on this system.```
vmpqdwk3

vmpqdwk31#

您可能需要针对SSL库重新编译Erlang。从19.2版开始,加密应用程序会检查是否定义了OPENSSL_NO_RC4,如果定义了,则不会尝试使用RC4(请参阅this pull request)。因此,如果您使用针对不同库构建的Erlang包,它可能会认为该功能在运行时存在。

相关问题