lighttpd (также «lighty», «лайти») — веб-сервер, разрабатываемый с расчётом на скорость и защищённость, а также соответствие стандартам.
Проект lighttpd начался со стремления автора реализовать веб-сервер, который мог бы выдержать одновременно 10000 соединений. lighttpd использует так называемую асинхронную обработку сетевых соединений. Благодаря этому загруженность сервера (в отличие от Apache) при доступе к файлам на диске не зависит от количества текущих соединений.
В lighttpd есть поддержка:
- Автоматической балансировки нагрузки (поддерживаются FastCGI, SCGI, HTTP proxy).
- Сhroot.
- Сжатия отдаваемого содержимого «на лету».
- HTTP-аутентификации.
- Аутентификации через LDAP сервер.
- Перезаписи URL.
- SSL и TLS через OpenSSL.
- RRDtool статистики.
- SSI .
- WebDAV (минимально).
- Установки собственных страниц ошибок.
В новой версии представлено 600 изменений. Наиболее существенным новшеством стала реализация поддержки протокола HTTP/2, который пока отключён по умолчанию и для активации требует установки опций "server.h2proto" и "server.h2c" в server.feature-flags.
- Помимо ранее доступного модуля mod_openssl, использующего OpenSSL, предложено ещё четыре модуля mod_mbedtls, mod_wolfssl, mod_gnutls и mod_nss с реализациями TLS на базе библиотек mbedTLS, wolfSSL, GnuTLS и NSS.
- Для всех TLS-модулей, кроме mod_mbedtls, реализована поддержка отправки запросов проверки состояния сертификатов при помощи расширения OCSP stapling (заверенный удостоверяющим центром ответ OCSP передаётся обслуживающим сайт сервером при согласовании TLS-соединения).
- Для всех TLS-модулей кроме mod_nss реализована поддержка ротации сессионных ключей.
- В mod_deflate добавлена поддержка сжатия с использованием алгоритма Brotli.
- В mod_proxy включено использование HTTP/1.1 при отправке запросов бэкендам (ранее использовался HTTP/1.0).
- Добавлена поддержка обработки возвращаемых бэкендами информационных флагов в 103 коде ответа, используемых для передачи сведений о ресурсах, которые потребуются при обработке страницы для организации упреждающей загрузки (RFC 8297).
- Добавлен режим мягкого перезапуска (graceful restart) с передачей ранее используемых дескрипторов соединений (включается через server.systemd-socket-activation = "enable" и активацию опций "server.graceful-restart-bg" и "server.graceful-shutdown-timeout" в server.feature-flags.