我使用引擎AES-NI提高了openssl速度(硬件加速)的性能,我的芯片支持引擎AES-NI(英特尔(R)Xeon(R)CPU E5620 @ 2.40GHz)。
我尝试安装openssl版 1.0.2-chacha 和 1.0.1l
版本1.0.2 chacha当测试速度openssl时带命令:
openssl speed aes-256-cbc
然后错误:
错误:错误选项或值
使用nginx配置时的版本1.0.1然后错误:
nginx:[警告] ENGINE_by_id(" aesni")失败(SSL:错误:25066067:DSO 支持例程:DLFCN_LOAD:无法加载共享 库:文件名(/usr/lib/x86_64-linux-gnu/openssl-1.0.1/engines/libaesni.so): /usr/lib/x86_64-linux-gnu/openssl-1.0.1/engines/libaesni.so:不能 打开共享对象文件:没有此类文件或目录错误:25070067:DSO 支持例程:DSO_load:无法加载共享库 错误:260B6084:引擎例程:DYNAMIC_LOAD:未找到dso 错误:2606A074:引擎例程:ENGINE_by_id:没有这样的引擎:id = aesni)
我知道对于openssl> = 1.0.1的版本,AES-NI不能通过引擎工作,也不会出现在openssl引擎命令中。默认情况下,它在受支持的硬件上处于活动状态。
我在https://www.ruby-forum.com/topic/6873426#1168394中看到一个命令说"没有配置选项,只要你的cpu支持它就会工作"。
但我找不到官方消息来源。
请建议使用版本openssl和配置nginx的解决方案。
答案 0 :(得分:4)
在OpenSSL中> = 1.0.1在EVP界面中默认启用AES-NI,并且没有aesni引擎。所以在nginx中没有配置选项来为OpenSSL版本启用AES-NI> = 1.0.1,因为它在OpenSSL中默认启用(只要你的CPU支持它)。对于OpenSSL版本< 1.0.1尽管有可用的补丁,但AES-NI没有官方支持。