如何在nginx中配置openssl引擎aes-ni

时间:2015-03-09 10:31:52

标签: nginx openssl aes-ni

我使用引擎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的解决方案。

1 个答案:

答案 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没有官方支持。

[http://openssl.6102.n7.nabble.com/having-a-lot-of-troubles-trying-to-get-AES-NI-working-tp44285p44301.html]