ssl_session_cache
Директива `ssl_session_cache` задаёт кэш для параметров SSL-сессии, что ускоряет SSL‑рукопожатие. — NGINX HTTP Core
Описание
Директива `ssl_session_cache` в NGINX задаёт механизм кэширования параметров SSL-сессии, что повышает производительность за счёт уменьшения накладных расходов при установлении SSL‑соединений. Кэшируя SSL-сессии, клиенты могут возобновлять соединения без полного выполнения SSL‑рукопожатия, что ускоряет процесс, особенно для повторных посетителей. Эту директиву можно задавать в контекстах `http` и `server`, что даёт гибкость в зависимости от того, как SSL применяется на различных серверах или локациях. Синтаксис `ssl_session_cache` допускает один или два параметра: тип кэша и, опционально, размер кэша. Тип кэша может быть `shared` или `none`, причём тип `shared` указывает, что кэш может использоваться несколькими рабочих процессами. При указании, размер определяет максимальное количество параметров сессии, хранимых в кэше, что существенно влияет на использование памяти и ёмкость. Поведение этого механизма кэширования зависит от размера и управления кэшем SSL‑сессий, что напрямую влияет на производительность SSL‑соединений для конечных пользователей. Когда клиент повторно подключается и предоставляет свой идентификатор сессии, NGINX может быстро получить сохранённые параметры сессии, если они не истекли, что позволяет серверу пропустить тяжёлые вычисления, связанные с установлением новой сессии. Это особенно полезно в сценариях с большим трафиком, когда критично снижать задержки для SSL‑соединений.
Пример конфига
http {
ssl_session_cache shared:SSL:10m;
}Убедитесь, что размер кэша соответствует вашему трафику; слишком маленький размер может привести к частым вытеснениям из кэша.
Если вы используете несколько server blocks, убедитесь, что они используют один и тот же named cache, если требуется совместное использование сессий между origin servers.