]> git.kaiwu.me - nginx.git/commit
SSL: SSL_sendfile() support with kernel TLS.
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 21 Oct 2021 15:44:07 +0000 (18:44 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 21 Oct 2021 15:44:07 +0000 (18:44 +0300)
commit1fc61b7b1ff182e86078200a59d3c523419c7b3b
tree51324f2d711aaf1b3a83f0e57834e9be400a6257
parent3ab1b64463cfc1cea5209f159d8fe3797328be51
SSL: SSL_sendfile() support with kernel TLS.

Requires OpenSSL 3.0 compiled with "enable-ktls" option.  Further, KTLS
needs to be enabled in kernel, and in OpenSSL, either via OpenSSL
configuration file or with "ssl_conf_command Options KTLS;" in nginx
configuration.

On FreeBSD, kernel TLS is available starting with FreeBSD 13.0, and
can be enabled with "sysctl kern.ipc.tls.enable=1" and "kldload ktls_ocf"
to load a software backend, see man ktls(4) for details.

On Linux, kernel TLS is available starting with kernel 4.13 (at least 5.2
is recommended), and needs kernel compiled with CONFIG_TLS=y (with
CONFIG_TLS=m, which is used at least on Ubuntu 21.04 by default,
the tls module needs to be loaded with "modprobe tls").
src/event/ngx_event_openssl.c
src/event/ngx_event_openssl.h
src/http/ngx_http_request.c
src/http/ngx_http_upstream.c