Как настроить движок openssl aes-ni в nginx
Я использую движок AES-NI для повышения производительности openssl speed (аппаратное ускорение), при этом мой чип поддерживается движком AES-NI (Intel(R) Xeon(R) CPU E5620 @ 2,40 ГГц).
Я пытаюсь установить openssl версии 1.0.2- chacha и 1.0.1l
Версия 1.0.2 чача при тестировании скорости openssl с командой:
openssl speed aes-256-cbc
тогда ошибка:
Ошибка: неверный параметр или значение
Версия 1.0.1 при конфигурации с nginx, затем ошибка:
nginx: [warn] 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 engine. Он активен по умолчанию на поддерживаемом оборудовании.
Я вижу одну команду в https://www.ruby-forum.com/topic/6873426 говорит: "Нет параметра конфигурации, и он будет работать, пока ваш процессор его поддерживает".
Но я не нахожу официальных источников.
Пожалуйста, предложите решение для использования версии openssl и конфигурации с nginx.
1 ответ
В OpenSSL >= 1.0.1 AES-NI включен по умолчанию в интерфейсе EVP, и нет движка aesni. Таким образом, в nginx нет опции конфигурации для включения AES-NI для версий OpenSSL> = 1.0.1, поскольку она включена по умолчанию в OpenSSL (если ваш процессор поддерживает это). Для версий OpenSSL < 1.0.1 официальная поддержка AES-NI отсутствует, хотя имеется патч.