Skip to content

Instantly share code, notes, and snippets.

@Semdevmaster
Last active November 26, 2021 07:23
Show Gist options
  • Select an option

  • Save Semdevmaster/b20c14b0ffb8d3acaae42506845e5359 to your computer and use it in GitHub Desktop.

Select an option

Save Semdevmaster/b20c14b0ffb8d3acaae42506845e5359 to your computer and use it in GitHub Desktop.
NGINX with KTLS

Подробная статья зедсь - https://www.nginx.com/blog/improving-nginx-performance-with-kernel-tls/

Подгружаем модуль ядра и проверяем загрузился ли он:


modprobe tls
lsmod|grep tls

Скачиваем openssl 3, nginx 1.21.4, компилим и устанавливаем:


wget https://www.openssl.org/source/openssl-3.0.0.tar.gz
tar xvvf openssl-3.0.0.tar.gz
wget http://nginx.org/download/nginx-1.21.4.tar.gz
tar xvvf nginx-1.21.4.tar.gz
cd nginx-1.21.4
./configure --with-openssl=../openssl-3.0.0 --with-openssl-opt=enable-ktls
make
make install

Обновляем конфигурацию nginx.conf:


# в секцию http добавляем директиву
sendfile on;

Обновляем конфигурацию виртуального хоста:


ssl_protocols TLSv1.3;
ssl_conf_command Options KTLS;

Перезапускаем nginx и проверяем отдачу статики. Файлы должны теперь отдаваться шустрее за счет того, что теперь nginx для шифрования обращается прямо в ядро. Это значит, что данные не копируются с kernel space в user space перед отдачей, а сразу отдается с kernel space.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment