我们在产品中使用了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.```
1条答案
按热度按时间vmpqdwk31#
您可能需要针对SSL库重新编译Erlang。从19.2版开始,加密应用程序会检查是否定义了
OPENSSL_NO_RC4
,如果定义了,则不会尝试使用RC4(请参阅this pull request)。因此,如果您使用针对不同库构建的Erlang包,它可能会认为该功能在运行时存在。