ssl_session_timeout

Директива `ssl_session_timeout` задаёт период ожидания для кэширования SSL-сессий в NGINX. — NGINX HTTP Core

ssl_session_timeout
httpserver
Синтаксисssl_session_timeout time;
По умолчанию1h
Контекстhttp, server
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `ssl_session_timeout` используется для указания временного интервала, в течение которого SSL-сессия должна храниться в кэше сервера. Когда клиент подключается по SSL, может быть установлена сессия, что улучшает производительность при последующих подключениях за счёт повторного использования параметров сессии вместо повторного согласования. Эта директива позволяет администраторам определить, как долго кэшированная сессия может оставаться действительной, прежде чем она будет признана истёкшей и удалена из кэша. Время может быть указано с единицей измерения, например `s` (секунды), `m` (минуты) или `h` (часы), и механизм кэширования существенно повышает эффективность SSL‑согласования, особенно для клиентов, которые часто подключаются к серверу. Директива может быть размещена в контексте `http` или `server` в конфигурации NGINX, что даёт гибкость в зависимости от того, должен ли таймаут применяться глобально или к конкретному блоку сервера. Правильная настройка этой директивы обеспечивает эффективное управление ресурсами и балансирует соображения безопасности, поскольку более короткие таймауты могут повышать безопасность ценой некоторого снижения производительности.

Пример конфига

server {
    listen 443 ssl;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
    ssl_session_timeout 30m;
}

Установка слишком малого времени ожидания сессии может привести к частым SSL-переговорам, что приведёт к ухудшению производительности.

Убедитесь, что кэширование SSL-сессий включено при использовании этой директивы, иначе она не будет иметь никакого эффекта.