如何在nginx中配置openssl engine aes-ni



我使用引擎AES-NI提高openssl速度的性能(硬件加速)与我的芯片是支持的引擎AES-NI(英特尔(R)至强(R)CPU E5620 @ 2.40GHz)。

我尝试安装 openssl 版本 1.0.2-chacha 和 1.0.1l

版本 1.0.2 chacha 当测试速度打开时使用命令:

openssl speed aes-256-cbc

然后错误:

错误:错误的选项或值

版本 1.0.1 当使用 nginx 配置时,然后错误:

nginx: [warn] ENGINE_by_id("aesni") 失败 (SSL: error:25066067:DSO 支持例程:DLFCN_LOAD:无法加载共享 library:filename(/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配置的解决方案。

在OpenSSL>= 1.0.1中,AES-NI默认在EVP界面中启用,并且没有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]

最新更新